WSO2 CEP 4.1.0 事件适配器

WSO2 CEP 4.1.0 Event adaptor

我编写了一个自定义事件适配器,并将 jar 放在了 dropping 文件夹中,但是 CLI 不显示自定义日志记录,也没有出现在输出适配器中。

我已经阅读了4.1.0指南但没有成功并尝试阅读源代码:

http://dist.wso2.org/maven2/org/wso2/carbon/org.wso2.carbon.event.input.adaptor.email/1.0.1/

可能是您放入dropins的包没有被激活。

要检查它是否处于活动状态,您可以在 OSGI 控制台模式下启动 WSO2 CEP 服务器,如下所示: 转到 <CEP_HOME>/bin 并执行命令(假设您使用的是 Linux):

./wso2server.sh -DosgiConsole

服务器启动后,您将看到 OSGI 提示符。

osgi>

然后 运行 输入 ss <bundle_name>

例如:

ss org.wso2.carbon.event.output.adapter.custom.websocket

示例输出:

id  State       Bundle
285 RESOLVED      org.wso2.carbon.event.output.adapter.custom.websocket_5.0.12.SNAPSHOT
  • 请注意,您不需要指定完整的包名称和版本,只要指定名称的一部分就足够了。

它将显示捆绑包是否处于活动状态。

如果它不处于 ACTIVE 状态,您可以使用它的 ID 诊断您的包。例如

diag 285

这将显示丢失的导入包列表。

您可以参考[1]和[2]了解OSGI控制台命令。

然后确保公开那些使用您的 bundle pom 文件的文件。 例如,请参考 pom 文件的以下部分。它使用 Export-Package 元素公开了某些包。

 <build>
          <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                        <Bundle-Name>${project.artifactId}</Bundle-Name>
                        <Private-Package>
                            org.wso2.carbon.event.output.adapter.websocket.local.internal,
                            org.wso2.carbon.event.output.adapter.websocket.local.internal.*
                        </Private-Package>
                        <Export-Package>
                            !org.wso2.carbon.event.output.adapter.websocket.local.internal,
                            !org.wso2.carbon.event.output.adapter.websocket.local.internal.*,
                            org.wso2.carbon.event.output.adapter.websocket.local.*,
                        </Export-Package>
                        <Import-Package>
                            org.wso2.carbon.event.output.adapter.core.*,
                            javax.xml.namespace; version=0.0.0,
                            *;resolution:=optional,
                        </Import-Package>
                        <DynamicImport-Package>*</DynamicImport-Package>
                    </instructions>
                </configuration>
            </plugin>
          </plugins>
      </build>

[3] 可能也有一些有用的信息。

参考资料

[1] http://movingaheadblog.blogspot.com/2014/01/how-to-debug-wso2-carbon-products-using.html

[2] https://isurues.wordpress.com/2009/01/01/useful-equinox-osgi-commands

[3]http://wso2.com/library/articles/getting-started-wso2-carbon/