我试图从 JMS 队列中的 XML 中获取(Oracle Data Integrator 12.1.2.0.0),支持 Apache ActiveMQ 5.8,但出现以下错误:
ODI-1227: Task LKM JMS XML to SQL (Load JMS to XML) fails on the source <Empty Value> connection JMS_ActiveMQ_INVOICE_LOCAL2_CNG.
Caused By: java.sql.SQLException: java.lang.ClassCastException: org.apache.activemq.command.ActiveMQObjectMessage cannot be cast to javax.jms.BytesMessage
at com.sunopsis.jdbc.driver.SnpsDriverStatement.executeQuery(SnpsDriverStatement.java:110)
at com.sunopsis.jdbc.driver.SnpsDriverPreparedStatement.executeQuery(SnpsDriverPreparedStatement.java:139)
at com.sunopsis.jdbc.driver.JMSXMLStatement.loadJMS(JMSXMLStatement.java:687)
at com.sunopsis.jdbc.driver.JMSXMLStatement.execute(JMSXMLStatement.java:159)
at oracle.odi.runtime.agent.execution.sql.SQLCommand.execute(SQLCommand.java:205)...
JMS-queue 是外部系统,我无法更改消息的类型。LKM JMS XML to SQL知识模块能否处理消息org.apache.activemq.command.ActiveMQObjectMessage类,实现接口javax.jms.BytesMessage,如果可以,如何配置?
因为org.apache.activemq.command.ActiveMQTextMessage
实现接口javax.jms.TextMessage
知识模块LKM JMS XML to SQL的类的消息处理成功。
我该如何解决这个问题。
问候, 阿扎马特