RabbitMQ AMQP消息和TIBCO 5.10

RabbitMQ AMQP消息和TIBCO 5.10,rabbitmq,amqp,tibco,tibco-business-works,Rabbitmq,Amqp,Tibco,Tibco Business Works,我们正在使用TIBCO 5,需要使用消息并将消息发布到RabbitMQ AMQP消息 据我研究和测试,TIBCO 5中不支持AMQP消息,但TIBCO 6中也有,但升级不是一个选项 我曾尝试将RabbitMQJava客户机jar放在lib目录中,并使用它连接到RabbitMQ的JMS托盘,但在读取消息时崩溃 我想知道其他人是否面临这个问题,或者他们是如何使用TIBCO 5解决这个问题的 一个定制的Java启动程序可以做到这一点吗?定制的Java启动程序应该可以做到这一点,Rabbitmq Jav

我们正在使用TIBCO 5,需要使用消息并将消息发布到RabbitMQ AMQP消息

据我研究和测试,TIBCO 5中不支持AMQP消息,但TIBCO 6中也有,但升级不是一个选项

我曾尝试将RabbitMQJava客户机jar放在lib目录中,并使用它连接到RabbitMQ的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();
}

如果有人对其感兴趣,请在

中记录,在类etc建立连接时没有问题,但当消息到达队列时失败,并抱怨某些标头,因此我猜测AMQP消息格式不受支持或无法处理etc。