我应该使用Spring / Camel通过 AQjmsFactory.getConnectionFactory API(如Oracle文档中所述)连接到Oracle AQ 单个使用者点对点队列框架。
以下错误堆栈向我显示它尝试创建主题连接。
有人可以告诉我为什么吗?
非常感谢你!
org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is oracle.jms.AQjmsException: JMS-243: Argomento MY_QUEUE non trovato; nested exception is oracle.jms.AQjmsException: JMS-142: È necessario creare largomento JMS nelle tabelle di coda attivate per più consumatori
at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316)
at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:169)
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:487)
at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:469)
at org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:414)
at org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:368)
at org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:154)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:145)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:542)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:97)
at org.apache.camel.component.dataset.DataSetConsumer.sendMessages(DataSetConsumer.java:89)
at org.apache.camel.component.dataset.DataSetConsumer$1.run(DataSetConsumer.java:70)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: oracle.jms.AQjmsException: JMS-243: Argomento MY_QUEUE non trovato
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:374)
at oracle.jms.AQjmsSession.createTopic(AQjmsSession.java:2723)
at org.springframework.jms.support.destination.DynamicDestinationResolver.resolveTopic(DynamicDestinationResolver.java:72)
at org.springframework.jms.support.destination.DynamicDestinationResolver.resolveDestinationName(DynamicDestinationResolver.java:55)
at org.springframework.jms.support.destination.JmsDestinationAccessor.resolveDestinationName(JmsDestinationAccessor.java:114)
at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$000(JmsConfiguration.java:458)
at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$1.doInJms(JmsConfiguration.java:471)
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:484)
... 15 common frames omitted
Caused by: oracle.jms.AQjmsException: JMS-142: È necessario creare largomento JMS nelle tabelle di coda attivate per più consumatori
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:313)
at oracle.jms.AQjmsSession.getTopic(AQjmsSession.java:5899)
at oracle.jms.AQjmsSession.createTopic(AQjmsSession.java:2716)
... 21 common frames omitted
答案 0 :(得分:-1)
我自己调试了camel源代码(由于继承的遗留源代码):在ActiveMQ组件上解决“oracleaq:topic:MY_QUEUE”代替“oracleaq:MY_QUEUE”时出错。