JBoss-JMS-未能下载和/或安装客户端AOP堆栈

JBoss-JMS-未能下载和/或安装客户端AOP堆栈,jboss,jms,messaging,jndi,Jboss,Jms,Messaging,Jndi,当尝试构建JMS客户端以在JBoss5(默认配置)上获取到消息传递的连接时,我遇到了此错误(在第行:connection conn=qcf.createQueueConnection();)。这是一个maven项目,类路径中有以下库 jboss:jnp-client:jar:4.0.2:compile jboss:jboss-aop:jar:JBOSSAS-5.1:compile jboss:jboss-messaging-client:jar:1.4.7.GA:compile jboss:jb

当尝试构建JMS客户端以在JBoss5(默认配置)上获取到消息传递的连接时,我遇到了此错误(在第行:connection conn=qcf.createQueueConnection();)。这是一个maven项目,类路径中有以下库

jboss:jnp-client:jar:4.0.2:compile
jboss:jboss-aop:jar:JBOSSAS-5.1:compile
jboss:jboss-messaging-client:jar:1.4.7.GA:compile
jboss:jbossall-client:jar:JBOSSAS-5.1:compile
jboss:jboss-common-core:jar:JBOSSAS-5.1:compile
jboss:jboss-mdr:jar:JBOSSAS-5.1:compile
jboss:jboss-logging-spi:jar:JBOSSAS-5.1:compile
org.jboss.remoting:jboss-remoting:jar:2.5.3.SP1:compile
对于一个非常简单的代码,这是没有意义的。感谢您的帮助

我的代码如下:

    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
    env.put(Context.PROVIDER_URL, "jnp://localhost:1099");
    env.put(Context.OBJECT_FACTORIES, "ConnectionFactory");
    env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");

    InitialContext iniCtx = new InitialContext(env);

    Object tmp = iniCtx.lookup("java:/XAConnectionFactory");

    QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
    Connection conn = qcf.createQueueConnection();
我得到的错误是

Exception in thread "main" java.lang.RuntimeException: Failed to download and/or install client side AOP stack
    at org.jboss.jms.client.JBossConnectionFactory.createConnectionInternal(JBossConnectionFactory.java:199)
    at org.jboss.jms.client.JBossConnectionFactory.createQueueConnection(JBossConnectionFactory.java:101)
    at org.jboss.jms.client.JBossConnectionFactory.createQueueConnection(JBossConnectionFactory.java:95)
    at com.test.JMSExample.main(JMSExample.java:120)
Caused by: org.jboss.jms.exception.MessagingNetworkFailureException: Failed to connect client
    at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.createClient(ClientConnectionFactoryDelegate.java:347)
    at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.org$jboss$jms$client$delegate$ClientConnectionFactoryDelegate$getClientAOPStack$aop(ClientConnectionFactoryDelegate.java:246)
    at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.getClientAOPStack(ClientConnectionFactoryDelegate.java)
    at org.jboss.jms.client.ClientAOPStackLoader.load(ClientAOPStackLoader.java:75)
    at org.jboss.jms.client.JBossConnectionFactory.createConnectionInternal(JBossConnectionFactory.java:192)
    ... 3 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.remoting.InvokerRegistry.loadClientInvoker(InvokerRegistry.java:460)
    at org.jboss.remoting.InvokerRegistry.createClientInvoker(InvokerRegistry.java:359)
    at org.jboss.remoting.Client$6.run(Client.java:724)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.jboss.remoting.Client.connect(Client.java:720)
    at org.jboss.remoting.Client.connect(Client.java:668)
    at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.createClient(ClientConnectionFactoryDelegate.java:343)
    ... 7 more
Caused by: java.lang.NoSuchMethodError: org.jboss.util.propertyeditor.PropertyEditors.mapJavaBeanProperties(Ljava/lang/Object;Ljava/util/Properties;Z)V
    at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.mapJavaBeanProperties(MicroSocketClientInvoker.java:1359)
    at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.setup(MicroSocketClientInvoker.java:533)
    at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.<init>(MicroSocketClientInvoker.java:292)
    at org.jboss.remoting.transport.socket.SocketClientInvoker.<init>(SocketClientInvoker.java:78)
    at org.jboss.remoting.transport.bisocket.BisocketClientInvoker.<init>(BisocketClientInvoker.java:166)
    at org.jboss.remoting.transport.bisocket.TransportClientFactory.createClientInvoker(TransportClientFactory.java:44)
    ... 18 more
线程“main”java.lang.RuntimeException中的异常:未能下载和/或安装客户端AOP堆栈 位于org.jboss.jms.client.JBossConnectionFactory.createConnectionInternal(JBossConnectionFactory.java:199) 位于org.jboss.jms.client.JBossConnectionFactory.createQueueConnection(JBossConnectionFactory.java:101) 位于org.jboss.jms.client.JBossConnectionFactory.createQueueConnection(JBossConnectionFactory.java:95) 位于com.test.jmsecample.main(jmsecample.java:120) 原因:org.jboss.jms.exception.MessagingNetworkFailureException:连接客户端失败 位于org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.createClient(ClientConnectionFactoryDelegate.java:347) 在org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.org$jboss$jms$client$delegate$ClientConnectionFactoryDelegate$GetClientOpStack$aop(ClientConnectionFactoryDelegate.java:246) 位于org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.GetClientOpStack(ClientConnectionFactoryDelegate.java) 位于org.jboss.jms.client.ClientAOPStackLoader.load(ClientAOPStackLoader.java:75) 位于org.jboss.jms.client.JBossConnectionFactory.createConnectionInternal(JBossConnectionFactory.java:192) ... 3个以上 原因:java.lang.reflect.InvocationTargetException 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中 位于java.lang.reflect.Method.invoke(Method.java:597) 位于org.jboss.remoting.InvokerRegistry.loadClientInvoker(InvokerRegistry.java:460) 位于org.jboss.remoting.InvokerRegistry.createClientInvoker(InvokerRegistry.java:359) 位于org.jboss.remoting.Client$6.run(Client.java:724) 位于java.security.AccessController.doPrivileged(本机方法) 位于org.jboss.remoting.Client.connect(Client.java:720) 位于org.jboss.remoting.Client.connect(Client.java:668) 位于org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.createClient(ClientConnectionFactoryDelegate.java:343) ... 还有7个 原因:java.lang.NoSuchMethodError:org.jboss.util.propertyeditor.PropertyEditors.mapJavaBeanProperties(Ljava/lang/Object;Ljava/util/Properties;Z)V 位于org.jboss.remoting.transport.socket.MicroSocketClientInvoker.mapJavaBeanProperties(MicroSocketClientInvoker.java:1359) 位于org.jboss.remoting.transport.socket.MicroSocketClientInvoker.setup(MicroSocketClientInvoker.java:533) 位于org.jboss.remoting.transport.socket.MicroSocketClientInvoker.(MicroSocketClientInvoker.java:292) 位于org.jboss.remoting.transport.socket.SocketClientInvoker(SocketClientInvoker.java:78) 位于org.jboss.remoting.transport.bisocket.BisocketClientInvoker(BisocketClientInvoker.java:166) 位于org.jboss.remoting.transport.bisocket.TransportClientFactory.createClientInvoker(TransportClientFactory.java:44) ... 还有18个
看起来JAR文件之间存在不匹配或连接问题。尝试执行以下步骤:

1) 设置运行JBoss AS的JVM的
-verbose:class
选项,并检查输出以查找
MicroSocketClientInvoker.class
的来源,JBoss似乎无法从中找到方法

2) 检查端口
4457
是否打开,因为JBoss消息连接器使用4457上的默认serverBindPort


希望有帮助。

我也有同样的问题。这个问题可能是由几个根本原因造成的。为了评估特定的根本原因,您需要查看异常堆栈跟踪,一直到根异常的“起因”异常


在我的例子中,问题是由于在gradle项目的processResources Tak期间错误地过滤了一个truststore证书文件而导致的。二进制文件在processResources期间被过滤时会损坏。对我来说,修复方法是将my certificate.truststore文件从资源筛选中排除。

确实如此。我们有一个较旧版本的“org.jboss.util.propertyeditor.PropertyEditors”,它没有它想要的方法。旧的优先于我们添加的新库。谢谢你的答复,那么你是如何缩小问题的范围的呢?您是否尝试设置
-verbose:class