谁在使用JBoss Fuse?您对此产品体验有何分享?

Raf*_*oni -1 jboss jbossfuse

我目前正在考虑考虑使用JBoss Fuse 6.3的公司.目前我们正在处理概念证明并且正在发生一些事实:当我们使用集成到jetty/tomcat的完全开源技术(Camel或CXF)时,我们可以毫无问题地运行.

通过将其集成到JBoss Fuse平台中,我们遇到了严重的打包和部署困难.我想知道是否有人在生产之前使用这种产品,这次旅程中遇到的经验/困难是什么?

Ale*_*gna 6

我实际上使用了许多OSGi容器,而Karaf/JBoss Fuse从未给我任何部署问题.

但是,当您部署到此类容器中时,捆绑包必须符合有关包导入和导出的OSGI规范..wars 可能需要一些调整.

一些技巧:

  1. 使用最新版本的maven-bundle-plugin(3.x)
  2. 编译捆绑包时使用官方的JBoss Fuse BOM
  3. 除非您没有其他选择,否则请勿在您的捆绑包中嵌入罐子
  4. 使用wrap命令将非OSGi jar转换为OSGi兼容,大部分时间都可以使用
  5. 使用数据库和ORM时,使用javax.sql.DataSource和JPA将为您节省大量的类加载问题
  6. jdbc并且jndi是你的朋友
  7. 将您的接口发布为OSGi服务
  8. 使用Blueprint作为组件模型(基本上像Spring一样工作)
  9. 从其他bundle注入服务/ bean作为OSGi服务
  10. 阅读"OSGi in Action"一书
  11. 登录到您自己的文件而不是fuse.log(配置Log4j在etc/org.ops4j.pax.logging.cfg文件中执行此操作)
  12. 当你开发使用0.0.0-SNAPSHOT.这是根本的.如果重新部署具有相同版本的bundle,OSGi运行时可能会重用以前加载的类/资源,并且无法按预期工作.您将看不到新方法,更新代码等等......使用-SNAPSHOT版本,您可以强制OSGi运行时重新加载代码.
  13. 启动时./fuse debug可以连接IDE并实时调试代码.您甚至可以调试Camel/Blueprint/CXF/Felix /您想要的任何库.

难点

学习曲线非常陡峭,因为涉及很多框架和技术.您在网上找到的很多示例和文档(即使是在SO上)都已过时.