Skip to main content


Showing posts from December, 2015

Red Hat JBoss Fuse - Moving Camel application between OSGi and JavaEE containers

Now that JBoss Fuse supports both OSGi Karaf and JavaEE JBoss EAP container. When to use which one, is there any best practice for which container to use? And same as the answer as any other software related question, well, any questions in life actually. " it depends " .... Situation varies between cases, here are my point of view, you many like it or disagree, I am very happy to hear more of your thoughts. Here is the thing, I think, it is BEST if you stick with Karaf container if possible for now. It is more light weight, which means you can deploy application much more quickly and expend faster horizontally with application distributed everywhere. And the may OSGi manages the lifecycle of the services allows you to dynamically deploy and undeploy service without affecting the others service in the same container. That, is very important in for mission critical services. So if you get to choose which ever to use go with Karaf. What I also believe is, in an enterprise yo

Red Hat JBoss Fuse - Comparing different ways of Developing Fuse Application

Apache Camel in JBoss Fuse allow you to choose your favorite way to develop your integration application, and now it let you choose your favorite container to run it in. I put up a summary list of what each DSL are available, and made comparison between them.  Available DSL in different Containers Container Domain Specific Language Apache Karaf in JBoss Fuse (OSGi Container) Blueprint DSL (recommended) Java DSL Spring DSL JBoss Enterprise Application Server (JavaEE application Server) Java DSL with CDI (recommended) DSL with JNDI registry Spring DSL The reason to recommend blueprint in Karaf is that it provides a dependency injection framework in OSGi. The service lifecycle are monitored and managed, as it can dynamically shutdown or activate at anytime, blueprint can performs actions based on the state of each bundle, it is a much managed way to do in OSGi Container. In Java EE con

Red Hat JBoss Fuse - Fuse Management Console in EAP

One thing I love about JBoss Fuse is the ability to visualize my Camel route and see how it is doing on the fly in pretty GUI interface. In JBoss Fuse, you will able to see these from Fuse management console under http://INSTALL_IP:818/ , It provide an GUI interface to manage available Profiles in Fabric in Wiki page, logs view, health view, JMX console, OSGi views, A-MQ Broker manage console, Apache Camel, and Fuse Fabric. What happens when if I want to deploy my Camel Application on JBoss EAP? Is it possible to see the same thing in JBoss EAP? The answer is Yes! When you install the JBoss Fuse patch on to JBoss EAP, you will notice there are two WAR files also deployed on to it as well. One of them is our JBoss Fuse management console! By going to http://localhost:8080/hawtio/login with the same ID/PWD as you enter in Enterprise Admin Console. You will be greeted with the welcome page.  On the top, You will see Connect, Dashboard, JBoss, JMS and Threads tabs, notice I did

Red Hat JBoss Fuse - Workshop 101 Fuse in EAP

This workshop talks about JBoss Fuse application deploying on JBoss EAP, the JavaEE container. How does that work? In order to save you from building large fat WAR application that includes all the libraries you need, and avoid chaos of including the correct and supported version of Apache Camel library. JBoss Fuse allows you to patch your JBoss EAP to make it Fuse ready. During Patching, it'll add the new subsystem, "camel". Which allows you to statically load the correct and needed library to support fuse, along with the configuration available for it. You will notice the configuration files in JBoss EAP will be modified to add the cam subsystem in. It'll also provide you with configuration for different situations. For example, Camel configuration files will be created under both standalone and domain mode directories. Things we can configure in the module are the camel components that is needed in the subsystem, we can either added by using the name of the c

Red Hat JBoss Fuse - Integrating Database, Java Bean and Restful Services in EAP, Java DSL with CDI

We have talked about how to start develop application in EAP with Java DSL, and most interestingly how to utilize the CDI framework in JavaEE. And in this post we are going to take that example a bit more further, show you how to integrate with Databases, Java beans in the application, creating a servlet and lastly setup a Restful webservice. For this currency exchange project, I have store the exchange rate in the h2 database. What we are going to do is to display the entire exchange rate on the webpage provided by a restful web service and provide a servlet that takes in the amount of money and the currency to exchange to, send them back to server, calculated and return the result. So here are the things I am going to do Database Java Bean Servlet Restful Web Services Database Of course we want to use the datasources in EAP. So first thing first, create the datasource in EAP. Make sure you started the JBoss EAP. Go to Configuration, select Connector and then to datasou