[英]Error while moving weblogic JMS to Oracle Advanced Queuing
我正在尝试使用Oracle Advanced Queuing代替weblogic中正在运行的JMS实现。
从理论上讲,我已经按照Weblogic的说明(根据文档)对所有内容进行了配置,但是,当尝试发送消息时,出现以下错误:
####<Sep 18, 2019 10:27:12,290 AM CEST> <Info> <EJB> <svc-1> <svc_srv_1> <[ACTIVE] ExecuteThread: '4'
for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <5e679652-75c8-44bc-948a-cec4ee2af708-00000437>
<1568795232290> <[severity-value: 64] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-010213>
<Message-Driven EJB: OutQueueMDBReader's transaction was rolled back, because javax.jms.JMSRuntimeException:
[JMSPool:169829]JMS 2.0 method "createContext(int sessionMode)", called on the interface
"javax.jms.ConnectionFactory", is not implemented by this JMS Provider.:
java.lang.AbstractMethodError: oracle.jms.AQjmsXAQueueConnectionFactory.createXAContext()Ljavax/jms/XAJMSContext;
at weblogic.deployment.jms.JMSExceptions.getJMSRuntimeException(JMSExceptions.java:47)
at weblogic.deployment.jms.PooledConnectionFactory.createContext(PooledConnectionFactory.java:298)
at weblogic.jms.integration.injection.AbstractJMSContextManager.createContext(AbstractJMSContextManager.java:68)
at weblogic.jms.integration.injection.AbstractJMSContextManager.getContext(AbstractJMSContextManager.java:49)
at weblogic.jms.integration.injection.TransactedJMSContextManager$Proxy$_$$_WeldClientProxy.getContext(Unknown Source)
at weblogic.jms.integration.injection.InjectableJMSContext.delegate(InjectableJMSContext.java:144)
at weblogic.jms.integration.injection.ForwardingJMSContext.createBytesMessage(ForwardingJMSContext.java:105)
Truncated. see log file for complete stacktrace
java.lang.AbstractMethodError: oracle.jms.AQjmsXAQueueConnectionFactory.createXAContext()Ljavax/jms/XAJMSContext;
at weblogic.deployment.jms.PsuedoXAJMSContext.<init>(PsuedoXAJMSContext.java:87)
at weblogic.deployment.jms.PrimaryContextHelper.openConnection(PrimaryContextHelper.java:355)
at weblogic.deployment.jms.PrimaryContextHelper.<init>(PrimaryContextHelper.java:180)
at weblogic.deployment.jms.PrimaryContextHelper$PrimaryContextHelperServiceGeneratorImpl.createPrimaryContextHelperService(PrimaryContextHelper.java:1205)
at weblogic.deployment.jms.PooledConnectionFactory.createNonPooledPrimaryContext(PooledConnectionFactory.java:562)
at weblogic.deployment.jms.PooledConnectionFactory.createContextInternal(PooledConnectionFactory.java:488)
at weblogic.deployment.jms.PooledConnectionFactory.createContext(PooledConnectionFactory.java:296)
at weblogic.jms.integration.injection.AbstractJMSContextManager.createContext(AbstractJMSContextManager.java:68)
at weblogic.jms.integration.injection.AbstractJMSContextManager.getContext(AbstractJMSContextManager.java:49)
at weblogic.jms.integration.injection.TransactedJMSContextManager$Proxy$_$$_WeldClientProxy.getContext(Unknown Source)
Truncated. see log file for complete stacktrace
我的代码运行的最后一个地方是:
@Inject
@JMSConnectionFactory("MyConnectionFactory")
private JMSContext context;
BytesMessage bytesMessage = getContext().createBytesMessage();
我已经检查了此JMS 2.0文档 ,似乎一切都应该正常工作。 我可以从其他版本或类似的版本导入接口吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.