Activemq ResourceAdapter已使用活动MQ设置| JBoss 5.2

Activemq ResourceAdapter已使用活动MQ设置| JBoss 5.2,activemq,ejb-3.0,jboss5.x,consumer,jboss-mdb,Activemq,Ejb 3.0,Jboss5.x,Consumer,Jboss Mdb,我们已经将JBoss 5与TIBCO队列和MDB队列侦听器集成在一起,并且在JBoss JMX控制台中通过调用stop-and-start方法,它可以正常工作。现在我们用ActiveMQ取代了TIBCO。除了从JMX控制台停止和启动MDB之外,所有功能都正常工作。下面是一个错误 我的ejb-jar.xml文件 MSG订户 MSG订户 目的型 javax.jms.Queue 目的地 HelloWorld队列 致谢方式 自动确认 如果你需要更多的信息,请告诉我。请给我们一些线索。我从org.apac

我们已经将JBoss 5与TIBCO队列和MDB队列侦听器集成在一起,并且在JBoss JMX控制台中通过调用stop-and-start方法,它可以正常工作。现在我们用ActiveMQ取代了TIBCO。除了从JMX控制台停止和启动MDB之外,所有功能都正常工作。下面是一个错误

我的ejb-jar.xml文件

MSG订户 MSG订户 目的型 javax.jms.Queue 目的地 HelloWorld队列 致谢方式 自动确认 如果你需要更多的信息,请告诉我。请给我们一些线索。

我从org.apache.activemq.ra.ActiveMQActivationSpecsetResourceAdapter查看了引发该异常的:

public void setResourceAdapterResourceAdapter resourceAdapter引发ResourceException{ //规范第5.3.3节 如果this.resourceAdapter!=null{ 抛出已设置的新ResourceExceptionResourceAdapter; } 如果!resourceAdapter实例为MessageResourceAdapter{ 抛出新ResourceExceptionResourceAdapter的类型不是:+MessageResourceAdapter.class.getName; } this.resourceAdapter=messageresourceadapter资源适配器; } 它参考了JCA 1.5规范第5.3.3节,其中部分规定:

ActivationSpec JavaBean上的setResourceAdapter方法必须只调用一次;也就是说,关联在ActivationSpec JavaBean的生命周期内不得更改

因此,JBoss中似乎存在一个bug,在ActivationSpec的生命周期内多次调用setResourceAdapter,或者ActiveMQ中解释JCA 1.5规范并引发异常的方式存在一个bug。JBoss Application Server 5.x中的任何漏洞目前都无法修复。5.0是10多年前发布的,因此您可以升级到最新版本,即。或者ApacheActiveMQ社区中的某个人会看到这个问题,认为这是一个bug,然后修复它。您在这里的最佳选择是使用提醒社区


您也可以自己解决这个问题,因为这两个项目都是开源的。

ActiveMQ没有回答。有人能解决这个问题吗?。谢谢,我不确定你会得到其他已经提供的东西。你有没有试过最新的Wildfly 18版?如果是,结果如何?若否,原因为何?
ERROR [[HtmlAdaptor]] Servlet.service() for servlet HtmlAdaptor threw exception
javax.resource.ResourceException: ResourceAdapter already set
        at org.apache.activemq.ra.ActiveMQActivationSpec.setResourceAdapter(ActiveMQActivationSpec.java:240)
        at org.jboss.resource.deployers.RARDeployment.endpointActivation(RARDeployment.java:329)
        at org.jboss.resource.deployers.RARDeployment.internalInvoke(RARDeployment.java:284)
        at org.jboss.system.ServiceDynamicMBeanSupport.invoke(ServiceDynamicMBeanSupport.java:156)
        at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
        at org.jboss.ejb3.JmxClientKernelAbstraction.invoke(JmxClientKernelAbstraction.java:58)
        at org.jboss.ejb3.mdb.inflow.JBossMessageEndpointFactory.activate(JBossMessageEndpointFactory.java:344)
        at org.jboss.ejb3.mdb.MessagingContainer.startDelivery(MessagingContainer.java:184)
        at org.jboss.ejb3.mdb.MessagingDelegateWrapper.startDelivery(MessagingDelegateWrapper.java:67)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
        at org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:258)
        at org.jboss.jmx.adaptor.control.Server.invokeOp(Server.java:223)
        at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet$3.run(HtmlAdaptorServlet.java:400)
        at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet$3.run(HtmlAdaptorServlet.java:397)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet.java:396)
        at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorServlet.java:300)
        at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:104)
        at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServlet.java:86)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:534)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.internalProcess(ActiveRequestResponseCacheValve.java:74)
        at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:47)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:599)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
        at java.lang.Thread.run(Thread.java:748)