3

将我的应用程序从 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 并且它按预期工作。

4

1 回答 1

2

我怀疑这是由于您和服务器上aqapi.jar的版本不同造成的。ojdbc.jarOC4Jweblogic

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

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

于 2014-10-18T18:54:14.383 回答