我需要创建一个应用程序并将其部署到Karaf中。但是我需要使用camel组件和java组件(简单的spring bean)。流程应如下所示:
WebService(not matter for me) -> camel-component -> spring-bean -> camel-component -> WebService(not matter for me).这只是一个简单的路由。但我需要的是karaf接受和部署的OSGi包的目录结构。
对于e.x。我有:
su-camel
-src
-main
-resources
-META-INF
xbean.xml (spring-bean)
-test
-java
-resources
su-bean
-src
-main
-java
-resources
-META-INF
xbean.xml (spring-bean)
-test
-java
-resources我是用maven打包的,那么我应该在OSGi包的.jar文件中保留什么样的目录结构,以便正确部署应用程序呢?如您所见,在su-camel模块和su-bean模块中有两个src目录。
我知道servicemix接受添加了上述结构的所有组件的.zip文件。karaf支持这样的结构吗?
发布于 2012-07-26 00:44:04
合适的OSGi解决方案是创建两个包,每个项目一个,并同时部署它们。如果你不想这样做,你可以在你的项目清单中使用Embed-Dependency属性来包含依赖项(camel)包。这将只创建一个供您部署的包
发布于 2012-07-26 05:53:27
最简单的解决方案是只创建一个包含bean和camel路由的包。通常,不需要从bean中拆分路由。如果您出于某种原因需要拆分它,那么只需使用两个包。
为了简化部署,您可以使用karaf功能文件,其中列出了两个包,并最终列出了它们的进一步依赖项。Karaf还支持可以包含多个包的.kar文件。如果您的karaf服务器无法访问maven存储库,则可以使用kar文件。
https://stackoverflow.com/questions/11653954
复制相似问题