[英]OSGi Security with Apache Karaf: no service ConditionalPermissionAdmin found
[英]Apache Karaf OSGi application structure
我需要創建一個應用程序並將其部署到 Karaf 中。 但是我需要使用 camel 組件和 java 組件(簡單的 spring bean)。 流程應該如下:
WebService(not matter for me) -> camel-component -> spring-bean -> camel-component -> WebService(not matter for me).
這只是一個簡單的路由。 但是我需要的是karaf接受和部署的OSGi bundle的目錄結構。
對於前我有:
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 bundle .jar
文件中保留什么樣的目錄結構才能正確部署應用程序? 如您所見, su-camel
模塊和su-bean
模塊中有兩個src
目錄。
我知道 servicemix 接受.zip
文件,其中所有組件都添加了上述結構。 karaf 是否支持這樣的結構?
最簡單的解決方案是只使用 bean 和 camel 路由創建一個包。 通常不需要從 bean 中拆分路由。 如果您出於某種原因需要拆分它,那么只需使用兩個捆綁包即可。
為了使部署更容易,您可以使用 karaf 功能文件,其中列出了兩個捆綁包以及它們的進一步依賴項。 Karaf 還支持可以包含許多包的 .kar 文件。 如果您的 karaf 服務器無法訪問 maven 存儲庫,則可以使用 kar 文件。
正確的 OSGi 解決方案是創建兩個包,一個用於每個項目,然后同時部署它們。 如果您不想這樣做,您可以使用項目清單中的 Embed-Dependency 屬性來包含依賴項 (camel) 包。 這將只創建一個包供您部署
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.