我相信 ServiceMix 4.4 将热部署 ( <servicemix home>/deploy
) 两种类型的文件:OSGi 包和 JBI 服务程序集。也就是说,包含额外的 OSGi 或 JBI 元信息、OSGI 蓝图 xml 文件和 Spring xml 文件的 jar 文件(和分解的 jar 文件),它假定是 OSGi。ServiceMix 4.4 不会部署 vanilla jar 文件,因为它不清楚您希望它如何加载它们 - 您是否希望它将其包装为 OSGi 包,猜测导入和导出...
从您的问题中不清楚您遇到了哪些样本问题。快速浏览一下大多数 ServiceMix 示例,似乎它们中的大多数都是 OSGi 包(Maven 打包 == 包),它们在复制到部署目录时都应该热部署。
如果您知道您的 jar 文件是 OSGi 包,那么我会检查<servicemix home>/etc/org.apache.felix.fileinstall-deploy.cfg
文件的felix.fileinstall.dir
属性以确保其配置为从您认为的目录中获取。我还要检查文件安装程序和部署程序服务是否已安装在运行中。这些通常位于安装的前 30 个服务中,并且不会显示在 上osgi:list
,因此您可以尝试
karaf@root> osgi:ls | grep Deployer
如果您没有看到它们,请检查对etc/startup.properties
文件的修改 - 有人可能已经删除了这些服务......
希望有帮助,
斯科特
保险丝源