I am currently working on a company that is considering considering using JBoss Fuse 6.3. At the moment we are working with proof of concepts and some facts are happening: when we use the fully Open Source technologies (Camel or CXF) integrated to jetty / tomcat we can run without problems.
By integrating this into the JBoss Fuse platform we are experiencing serious packaging and deployment difficulties. I wonder if anyone is using this product until in production and what were the experiences / difficulties faced in this journey?
I actually work with many OSGi containers, and Karaf/JBoss Fuse never gave me any deployment issue.
However, when you deploy into such containers your bundles must conform to OSGI specs regarding package imports and exports. Some tuning may be required for .war
s.
Some tips:
wrap
command to turn non-OSGi jars into OSGi compatible, works most of the timesjavax.sql.DataSource
and JPA, will save you a lot of classloading issuesjdbc
and jndi
are your friendsetc/org.ops4j.pax.logging.cfg
file)0.0.0-SNAPSHOT
. It's fundamental. If you redeploy a bundle with the same version the OSGi runtime will probably reuse the previously loaded classes/resources and will not work as expected. You will not see new methods, updated code, and so on... With -SNAPSHOT
version you force OSGi runtime to really reload the code../fuse debug
so you can connect with your IDE and debug the code live. You can even debug into Camel / Blueprint / CXF / Felix / whatever library you want.Learning curve is quite steep, as there are a lot of frameworks and technologies involved. A lot of examples and documentations you find online (even here on SO) are outdated.