我们使用的是TIBCO 5,需要消费消息并将消息发布到RabbitMQ AMQP消息。
据我研究和测试,TIBCO 5中不支持AMQP消息,但TIBCO 6中支持,但升级不是一个选项。
我尝试过将Rabbit mqjava客户端jar放在lib目录中,并使用JMS托盘连接到Rabbit mq,但在阅读消息时崩溃。
我想知道其他人是否面临这个问题,或者他们是如何使用TIBCO 5解决这个问题的。
一个定制的Java怎么样?
这应该可以通过自定义java启动器,Rabbitmqjava代码是直接的。但是首先我会调查为什么jms驱动程序崩溃,因为这是最可行的方法。你调查过错误吗?很可能是类版本或依赖项错误
我回答了我自己的问题,但最后我们实际上实现了我们自己的Process starter/Java事件源。
Java事件源托盘是pritty简单易用以下是启动代码的样子
/**
*
* @param processName sampleInputParam
* @throws Exception exception
*/
public void initProcess(final String processName) throws Exception {
this.processName = processName;
init();
}
@Override
public void init() throws Exception {
LOGGER.info("[ProcessStarter] Initializing " + processName + " Proces Starter");
//Some init code
LOGGER.info("[ProcessStarter] Successfully Initialized Proces Starter");
}
以下是它如何从tibco调用
Java事件源托盘
事件源的输出是一个java对象,我们使用代码中的java方法活动将其转换为字符串
public String getMessageBodyAsString(final Object message) {
final MessageDataType messageDataType = (MessageDataType) message;
return messageDataType.toString();
}
如果有人感兴趣,它记录在Tibcojava事件来源