将我的应用程序从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,它按预期工作。
答案 0 :(得分:2)
我怀疑这是由aqapi.jar
和ojdbc.jar
服务器上的OC4J
版本和weblogic
版本不一致造成的。
尝试将这些jar文件从OC4J替换为您的weblogic。
某些版本会在500
字符处更改类型,而其他版本会在4000
处切换..我不确定它是哪个版本,但如果第一个版本正常工作,您可以尝试切换jar文件。