添加自定义介体(Java类)而不重新启动

时间:2013-09-27 06:11:31

标签: java wso2 wso2esb

我们经常有执行转换或其他事情的Custom Mediators(Java类)。每次我们只想改变类中的一个小东西时,我们需要重新启动整个WSO2 ESB。

可能“自定义中介”方法是错误的,但是我们希望保留java类,但是从整个服务器(如代理或端点)解耦。 (我们的课程在/components/lib

中的.jar中

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

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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