【问题标题】:Servicemix 4.4 & hot deployServicemix 4.4 和热部署
【发布时间】:2011-09-29 15:11:53
【问题描述】:

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

谢谢,

胡比

【问题讨论】:

    标签: jbossfuse apache-servicemix fuseesb


    【解决方案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 文件的修改 - 有人可能已经删除了这些服务...

    希望对你有帮助,

    斯科特

    FuseSource

    【讨论】:

    • 嗨,我检查了服务,它们都在列表中。 felix.fileinstall.dir 也很好。我尝试从熔断器分发(原始安装)中部署样本。我试过 osgi 和 jbi 类型。我设法从控制台打包它们(mvn 包)并手动将它们部署到 /deploy 目录,但根据日志没有任何反应。
    【解决方案2】:

    我正在使用 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-24
      • 1970-01-01
      相关资源
      最近更新 更多