点对点的AQjmsFactory问题

时间:2017-12-04 16:24:50

标签: spring apache-camel oracle-aq

我应该使用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

1 个答案:

答案 0 :(得分:-1)

我自己调试了camel源代码(由于继承的遗留源代码):在ActiveMQ组件上解决“oracleaq:topic:MY_QUEUE”代替“oracleaq:MY_QUEUE”时出错。