JMS TextMessage - 部署到WebLogic后无法运行

时间:2014-09-30 08:25:22

标签: java spring jms weblogic11g oracle-aq

将我的应用程序从OC4J迁移到WebLogic 10.3.6服务器后,我遇到了一个奇怪的问题。

我的应用程序将 JMS TextMessage 生成到OracleAQ队列中。它工作正常。 但是,在将应用程序部署到WebLogic之后,生成的文本消息将存储在基础队列中的USER_DATA_TEXT_LOB(clob)列而不是USER_DATA_TEXT_VC(varchar2)列中,而USER_DATA_TEXT_LEN非常少(不到1k的字符。)

因此,消费者应用程序无法使消息出列并抛出错误:Payload is NULL

感谢这方面的任何帮助。

更新

我尝试过使用jms BytesMessage,它按预期工作。

1 个答案:

答案 0 :(得分:2)

我怀疑这是由aqapi.jarojdbc.jar服务器上的OC4J版本和weblogic版本不一致造成的。

尝试将这些jar文件从OC4J替换为您的weblogic。

某些版本会在500字符处更改类型,而其他版本会在4000处切换..我不确定它是哪个版本,但如果第一个版本正常工作,您可以尝试切换jar文件。