WSO2 ESB / EI作为JMS主题使用者 - 写入文件

时间:2017-11-10 19:21:11

标签: wso2 jms wso2esb tibco-ems wso2ei

首先:我对WSO2产品很陌生,但我花时间阅读了一些关于我的问题的帖子。

我使用的产品: WSO EI 6.1.1

我想要实现的目标:建立与TIBCO EMS(MOM)的JMS连接,订阅给定主题并将获得的消息作为xml文件写入文件系统。给定的文件夹是一个已安装的netdrive,其他应用程序将查找给定文件夹中的新文件,这是由于遗留代码,我不想(没有时间)更改文件夹查找,例如肥皂叫。

我已经完成了什么:我已经阅读了最新的文档并找到了这个: Configure with Tibco EMS

经过一番尝试和错误后,我想我已经为TIBCO EMS设置了JMS Listener。一开始我收到了一堆现在修复的连接和auth错误,所以我认为与tibco服务器的一般连接有效。

<transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
<parameter name="TopicConnectionFactory" locked="false">
    <parameter locked="false" name="java.naming.factory.initial">com.tibco.tibjms.naming.TibjmsInitialContextFactory</parameter>
    <parameter locked="false" name="java.naming.provider.url">tcp://172.123.123.123:123</parameter>
    <parameter locked="false" name="java.naming.security.principal">user</parameter>
    <parameter locked="false" name="java.naming.security.credentials">pass</parameter>
    <parameter locked="false" name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
    <parameter locked="false" name="transport.jms.JMSSpecVersion">1.0.2b</parameter>
    <parameter locked="false" name="transport.jms.ConnectionFactoryType">topic</parameter>
    <parameter locked="false" name="transport.jms.UserName">user</parameter>
    <parameter locked="false" name="transport.jms.Password">pass</parameter>
    <parameter locked="false" name="transport.jms.CacheLevel">session</parameter>
</parameter>
</transportReceiver>

我认为下一步是订阅特定主题并将其写入文件系统,但我有点困在这里。遗憾的是,文档中的其他示例对我没有帮助,也许我错过了如何继续这里的大局,因为我对esb / ei产品很新。

我根本不知道需要哪个功能组件(端点,代理,使用已配置的jms连接以及如何将其写入文件系统。

如果有人能把我推向正确的方向,那就太好了。

亲切的问候

1 个答案:

答案 0 :(得分:0)

首先,您需要拥有JMS代理或入站端点来侦听队列。参考[1]。然后,您需要使用WSO2 ESB(VFS传输)的文件处理功能。请参阅fileWriteSequence序列[2]。在从队列接收消息后,您应该在代理服务或入站端点中调用此类型的序列。

[1] - https://docs.wso2.com/display/ESB500/ESB+as+a+JMS+Consumer [2] - https://docs.wso2.com/display/ESB500/Sample+271%3A+File+Processing#Sample271:FileProcessing-CreateandConfigurefileWriteSequence