Posts

Use a "remote" EJB in Camel routes

Introduction You have an existing application, let say developed using J2EE, including EJB (Session). The application is running into a J2EE application server like JBoss, WebSphere or Weblogic. This application “exposes” EJBs to perform some business services. Now, you can to use these “remote” EJBs into Camel routes. Context We want to “expose” the EJB using WebService. As for all EJBs, we have two interfaces for our EJB: the local and remote interfaces. Let assume that we have: * ejb.MyEjbSession * ejb.MyEjbSessionHome We assume that the MyEjbSession EJB provides a businessMethod() method, with a String in argument, and returning a String. The first thing to do is to define an interface containing the WebService annotation. This interface will define the operations and will be used to generate the WSDL on the fly: package net.nanthrax.blog.camel; @WebService(targetNamespace = "http://www.nanthrax.net/blog", name = "MyEjbService") public interface M...

Apache Karaf Cellar 2.2.2 release

What’s new Quite one month ago, we released Karaf Cellar 2.2.1, the first “official” release of the Karaf clustering sub-project. This new Karaf Cellar 2.2.2 release includes bug fixes, especially one bug was a blocker as it was not possible to install Cellar on a Karaf instance running on Equinox OSGi framework. But, it’s not just a bug fix release, we merge two features from the Cellar trunk. Bundle synchronization In Karaf Cellar 2.2.1, we were able to synchronize features (including features repositories) and configuration between Karaf Cellar instances. It means that you can install a feature on one node (cluster:features-install group feature), the feature will be install on each Karaf note. Karaf Cellar 2.2.2 includes the same behavior for pure OSGi bundle. You can install a bundle on one node, the bundle will be installed on each other nodes on the same cluster group. karaf@root> osgi:install mybundle mybundle will be installed on all nodes in the same cl...

Website mashup with Apache Camel

Mashup ? You are browsing on some websites and you see an interesting information, that you want to poll to be used into your system. Unfortunately, you don’t know the website provider, and you don’t know if a “plug” is provided, for instance a WebService. So you have to find a way to get the information. Using Camel You can create a Camel route looking like:   <route>     <from uri="timer:fire?period=2000"/>     <setHeaders>         <constant>POST</constant>     </setHeaders>     <to uri="http:blog.nanthrax.net?param=value"/>     <unmarshal>         <tidyMarkup/>     </unmarshal>     <setBody><xpath>//span[@class='date']</xpath></setBody>     <to uri="log:blog"/>   </route> Here, every 2 seconds, we access to blog.nanthrax.net to get the HT...

Apache Karaf 2.1.x branch is in end of life, 2.1.6 available

We (The Apache Karaf team) have decided to switch Karaf 2.1.x branch into End Of Life mode. We released Karaf 2.1.6 which is the last version on this branch: http://karaf.apache.org/index/community/download/karaf-2.1.6-release.html We encourage all users to upgrade to Karaf 2.2.2, which is the latest Karaf stable release. This announce is in preparation of the next Karaf 3.0.0 on which we are hardly working currently.

Apache Karaf Cellar 2.2.1 Released

Apache Karaf Cellar 2.2.1 has been released today. Cellar is a Karaf sub-project which aim to provide a clustering solution for Karaf. Quick start To enable Cellar into a Karaf, you just have to install the Cellar feature. First, register the Cellar features descriptor in your running Karaf instance: karaf@root> features:addurl mvn:org.apache.karaf.cellar/apache-karaf-cellar/2.2.1/xml/features Now, you can see the Cellar features available: karaf@root> features:list|grep -i cellar [uninstalled] [2.2.1 ] cellar Karaf clustering [uninstalled] [2.2.1 ] cellar-webconsole Karaf Cellar Webconsole Plugin To start Cellar, install the cellar feature: karaf@root> features:install cellar It’s done: your Karaf instance is Cellar cluster ready. You can see your cluster node ID and, eventually, others cluster nodes: karaf@root> cluster:list-nodes No. Host Name Port ID * 1 node1.local 5701 node1.local:5701 2 node2.local 5702 node2.local:5702 The * indicates your local node (on which ...

I'm now officially Talend employee

After 8 years worked at Fimasys , I decided to move last December. Fimasys is a great company but not purely middleware oriented (it’s a financial software provider). I was receiving offers from quite long time and I decided to make a choice between Talend and Fusesource . Both companies are great and I know a lot of amazing guys in each. The choice was horribly difficult 🙁 On Fusesource side, I was very attracted to work with great guys like Guillaume, James, Hiram, Claus, Gert, Lars, Jon, etc, etc, etc. On the other hand, the Talend Apache team is awesome: Dan, Hadrian, Sergey, Colm, Glen and Christian. I discovered also great guys from Sopera (Dietmar, Renat, etc, etc) and from DI (Cédric, Rémy, Christophe, etc, etc). The Talend challenge is really impressive and I decided to join them. It was really hard because I have a deep respect for Fusesource and especially Guillaume. Finally it’s now official: I’m Talend employee 😉  

Apache Karaf 2.2.2 available

A new Apache Karaf version is available. If it’s mainly a bug fixes release, it includes some small enhancements. Especially, we added a completer for shell aliases. It means that you add a new command alias in etc/shell.init.script, the TAB key will look for aliases in addition of pure commands. Another interesting enhancement used in Apache CXF and Apache Camel is that the feature Maven plugin now “embeds” the Karaf core features. It means that it’s no more required to define <repository>mvn:org.apache.karaf.assemblies.features/standard/2.2.2/xml/features</repository> in your features descriptors: it’s the default. You can take a look on the complete release note . I’m going to update Karaf related projects (CXF, Camel, ServiceMix, TIF, TSF) and focus on Apache Karaf Cellar 2.2.1 version 😉