Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未在WSO2 esb中部署OSGi捆绑包_Osgi_Bundle_Esb - Fatal编程技术网

未在WSO2 esb中部署OSGi捆绑包

未在WSO2 esb中部署OSGi捆绑包,osgi,bundle,esb,Osgi,Bundle,Esb,我已经在我的机器上安装了WSO2 esb(V4.6)。 我已经创建了一个示例HelloWorld项目。这个项目有一个接口,一个impl类。它还有一个Activator,从OSGi框架实现BundleActivator。 我在这个激活器的start()和stop()方法中加入了一个简单的sysout命令 然后,我修改了pom.xml,将包装更改为“bundle”。 还添加了maven bundle插件,以及将我的项目打包为OSGi bundle所需的所有说明 为了确保我的包被正确打包,我将其部署在

我已经在我的机器上安装了WSO2 esb(V4.6)。 我已经创建了一个示例HelloWorld项目。这个项目有一个接口,一个impl类。它还有一个Activator,从OSGi框架实现BundleActivator。 我在这个激活器的start()和stop()方法中加入了一个简单的sysout命令

然后,我修改了pom.xml,将包装更改为“bundle”。 还添加了maven bundle插件,以及将我的项目打包为OSGi bundle所需的所有说明

为了确保我的包被正确打包,我将其部署在Eclipse提供的Equinox OSGI容器上,在包的启动/停止时,我可以在OSGI控制台上看到sysout。 这很有希望证实我的捆绑是正确的

现在我想在WSO2碳框架上部署这个捆绑包。 因此,我将我的包(即.jar文件)放在“C:\Program Files\wso2esb-4.6.0\repository\components\plugins”路径下,然后使用以下命令启动ESB:

wso2server.bat-dosgi控制台

这给了我osgi>提示。在osgi命令提示符下执行ss时,我得到了由WSO2的carbon框架启动的捆绑包列表。然而,在列表中我看不到我的包。 我还检查了日志文件夹(C:\Program Files\wso2esb-4.6.0\repository\log),查看BundleActivator的“start”方法是否有任何sysout。但是,我在该文件夹下的所有日志文件中都找不到

我想知道,为了让我的捆绑包被WSO2碳框架激活,我是否遗漏了什么

如果有一种方法,我可以附加我的捆绑在这个论坛上,然后让我知道,我可以附加它,这样我就可以知道从你方捆绑包装是否正确

非常感谢,并致以最良好的问候 磅


感谢您的回复;事实上,将包放在“dropins”文件夹中解决了这个问题

我的下一步是在管理控制台的“功能”选项卡下查看此捆绑包。 为此,我理解,该捆绑包需要部署在存储库上

在管理控制台上,我看到两个单选按钮(在Repository management选项卡下)用于定义存储库uri,即“URL”和“Local”。 我首先选择了“local”单选选项,并给出了文件系统中我的包所在文件夹的绝对文件路径。但是,它会提示一条无效路径的错误消息。 我现在计划将此捆绑包放在svn存储库下,然后给出该路径。 在我这么做之前,我想知道 1) “features”功能背后的代码逻辑是否查找特定的目录结构?如果是,有人能告诉我应该是什么结构吗? 2) 只需将捆绑包放在存储库中特定目录结构(如果有)下,就会使捆绑包出现在“功能”链接中(即,在我从下拉列表中选择已配置的存储库uri并单击“查找功能”按钮之后),或者需要做更多的基础工作? 我的目标是让我的包显示为“功能”

再次感谢所有的建议

致意
LB

存储库\组件\插件
中部署jar,而不是在存储库\组件\插件中。这就是您应该部署自定义捆绑包的地方。

您必须将jar文件复制到/repository/components/lib目录中,然后重新启动服务器。重新启动esb后,在/repository/components/dropins中检查jar,以验证esb是否成功接收了它


最佳做法是,将jar文件复制到/repository/components/lib中,并需要重新启动,因为wso2 esb不建议进行热部署。

回答您的第二个问题,即使捆绑包在功能管理UI中显示为功能:

首先,您需要创建一个包含包的特性。然后,您需要遵循以下文章中给出的步骤。