我们使用的是 TIBCO 5,需要消费和发布消息到 RabbitMQ AMQP 消息。
据我研究和测试,TIBCO 5 中不支持 AMQP 消息,但是 TIBCO 6 中支持但升级不是一个选项。
我尝试将rabbit mq java客户端jar放在lib目录中并使用它连接到Rabbit mq的JMS托盘,但在读取消息时崩溃。
我想知道其他人是否面临这个问题,或者他们如何使用 TIBCO 5 解决这个问题。
这样做的自定义 Java 启动器怎么样?
我们使用的是 TIBCO 5,需要消费和发布消息到 RabbitMQ AMQP 消息。
据我研究和测试,TIBCO 5 中不支持 AMQP 消息,但是 TIBCO 6 中支持但升级不是一个选项。
我尝试将rabbit mq java客户端jar放在lib目录中并使用它连接到Rabbit mq的JMS托盘,但在读取消息时崩溃。
我想知道其他人是否面临这个问题,或者他们如何使用 TIBCO 5 解决这个问题。
这样做的自定义 Java 启动器怎么样?
应该可以通过自定义的 java 启动器来实现,Rabbitmq java 代码是直截了当的。但首先我会调查为什么 jms 驱动程序崩溃,因为这是最可行的方法。你调查过错误吗?最有可能的类版本或依赖错误
我回答了我自己的问题,但最后我们实际上实现了我们自己的 Process starter/Java 事件源。
Java 事件源托盘使用起来非常简单,下面是启动代码的样子
/**
*
* @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 方法活动将其转换为字符串,代码是
public String getMessageBodyAsString(final Object message) {
final MessageDataType messageDataType = (MessageDataType) message;
return messageDataType.toString();
}
如果有人对其在Tibco java 事件源中记录感兴趣