我正在尝试从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)...
Run Code Online (Sandbox Code Playgroud)
JMS队列是外部系统,我无法更改消息的类型。LKM JMS XML到SQL知识模块可以处理实现接口javax.jms.BytesMessage的消息org.apache.activemq.command.ActiveMQObjectMessage类,如果是的话,如何配置它?
因为org.apache.activemq.command.ActiveMQTextMessage实现了接口javax.jms.TextMessage知识模块LKM JMS XML到SQL 的类的消息已成功处理。
我该如何解决这个问题。
问候,Azamat
xml activemq-classic jms classcastexception oracle-data-integrator