JBoss-JMS-未能下载和/或安装客户端AOP堆栈
当尝试构建JMS客户端以在JBoss5(默认配置)上获取到消息传递的连接时,我遇到了此错误(在第行:connection conn=qcf.createQueueConnection();)。这是一个maven项目,类路径中有以下库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
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
?