2

我们经常有执行转换或其他事情的自定义中介(Java 类)。每次我们只想更改类内的一点小东西时,我们都需要重新启动整个 WSO2 ESB。

可能“自定义调解器”方法是错误的,但我们希望保留 java 类,但与整个服务器分离 - 如代理或端点。(我们的类在 .jar 中/components/lib

如何在不重新启动的情况下将自定义中介或 java 类添加到 WSO2 ESB?

<class name="my.domain.MyJavaClassThatMustBeUpdatedWithoutRestart"/>
4

2 回答 2

0

在启动时,我们从组件/库中的非 OSGI jar 中制作 OSGI 包。因此,如果要更改自定义中介 jar,则必须重新启动。

根据下面解释答案的评论,

WSO2 产品在基于 OSGI 的平台上运行。因此,如果您更改 OSGI 包,您可以从 OSGI 控制台重新启动包,而无需重新启动整个服务器。WSO2 使用的 OSGI Container 也是 Eclipse Equinox OSGI Container。它提供了将非 OSGI jar 添加到产品中的功能,将这些 jar 转换为 OSGI 包。该功能仅在服务器启动时有效。因此,如果您想添加/更改这些 jar,您应该重新启动服务器。在运行时您可以更改 OSGI 捆绑包,但您不能在运行时将非 OSGI 捆绑包转换为 OSGI。

于 2013-09-27T07:03:35.063 回答
0

您可以从您的类创建一个 osgi 包,然后您可以从 OSGI 控制台控制类的行为。您需要使用 -DosgiConsole 选项启动 esb。您可以从此博客文章中找到更多信息。

http://lalajisureshika.blogspot.co.uk/2013/03/some-useful-osgi-commands-to-find.html

于 2013-09-27T08:30:45.307 回答