我试图看看我是否可以重构我继承的项目的架构,并且对Apache Karaf感兴趣是一种可能的解决方案。
目前,我们为我们拥有的每个单一(非营利)客户构建一个可执行JAR,并在不同时间运行JAR。每个“客户端JAR”在其中使用几个“公共”JAR,并在其中包含客户端特定的逻辑。总之,有几百个客户端JAR和十几个常见的JAR。
这种架构的问题很多:
基本上,我需要一个解决方案:
以上所有可以用Karaf完成吗?如果没有,我在这里有任何选择吗(Felix,Equinox等)?还是我在追逐梦想?鉴于我的问题域,是否有任何警告或原因我应该坚持使用当前的解决方案?提前谢谢!
请注意:如果有人认为EJB3对我来说是一个很好的解决方案而不是OSGi,我肯定愿意听取你的论点,但我的项目经理厌恶 EJB(他口中的味道不好)从沉重的EJB2天中遗留下来并且不太可能批准这样的解决方案。
答案 0 :(得分:0)
是的,Karaf确实有JAR文件和WAR文件的部署者。它甚至能够自动增强它们以获得所需的OSGi Manifest条目。 我认为进入OSGi模块化你是一个很好的公司,而Karaf可能是Camel最好的运行时。
我会考虑你的部署szenario。它可以做到,但我不这样做。使用功能文件,这是Karaf为您提供的一组捆绑包作为一项功能,结合使用Maven作为您的存储库,您的应用程序具有非常好的运行时。