1

我是 servicemix 4.x 的新手。我已经尝试过 servicemix 4.4 和 servicemix-fuse 4.4 ,我有同样的问题。我试图将样本部署到部署目录,但没有任何反应。Servicemix 运行,我检查了日志(tail -f servicemix.log)并且没有关于部署的消息。我试图找到一些关于 4.4 下热部署的文档,但我找不到任何东西。我记得 hotdeploy 使用 servicemix 3.x 开箱即用,我只是将 zip 复制到 hotdeploy 目录。

谢谢,

户比

4

2 回答 2

1

我相信 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文件的修改 - 有人可能已经删除了这些服务......

希望有帮助,

斯科特

保险丝源

于 2011-07-06T16:36:27.660 回答
1

我正在使用 apache-servicemix-4.4.1-fuse-01-11 并且 hotdeploy 适用于 JBI 以及基于 OSGI 的软件包(JBI 的 zip 和 OSGI 的 jar)。尝试通过在 karaf 控制台上运行来查找已安装的软件包:

osgi:list | grep 'YourBundleName'

如果一切正常,您可以使用其他两个命令安装和卸载捆绑包:

osgi:install yourbundlename
osgi:uninstall yourbundlename

安装包后,您可以通过发出以下命令查看日志输出(据我所知,仅适用于 Fuse ESB):

log:tail
于 2011-12-14T10:33:36.663 回答