将独立Java程序连接到WildFly服务器上的JMS时出错

将独立Java程序连接到WildFly服务器上的JMS时出错,java,jboss,jms,hornetq,wildfly,Java,Jboss,Jms,Hornetq,Wildfly,我在WildFly 8.0.0.Final上连接到JMS时遇到问题 我使用的是一个独立的Java程序,其源代码与WildFly Quickstart示例中的完全相同 我遵循了,并添加和配置了JMS 从管理控制台我可以看到RemoteConnectionFactory 以及创建的测试队列 我使用独立完整配置启动WildFly 服务器启动并似乎成功地完成了所有步骤,包括JMS(HornetQ)绑定: C:\WildFly8\wildfly-8.0.0.Final\bin\standalone.

我在WildFly 8.0.0.Final上连接到JMS时遇到问题

我使用的是一个独立的Java程序,其源代码与WildFly Quickstart示例中的完全相同

我遵循了,并添加和配置了
JMS

从管理控制台我可以看到RemoteConnectionFactory

以及创建的测试队列

我使用独立完整配置启动WildFly

服务器启动并似乎成功地完成了所有步骤,包括JMS(HornetQ)绑定:

C:\WildFly8\wildfly-8.0.0.Final\bin\standalone.bat -c standalone-full.xml
Calling "C:\WildFly8\wildfly-8.0.0.Final\bin\standalone.conf.bat"
Setting JAVA property to "C:\Program Files\Java\jdk1.8.0_05\bin\java"
Detected server admin port: 9990
Detected server http port: 8080
===============================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: "C:\WildFly8\wildfly-8.0.0.Final"

  JAVA: "C:\Program Files\Java\jdk1.8.0_05\bin\java"

  JAVA_OPTS: "-XX:+UseCompressedOops -Dprogram.name=standalone.bat -Xms64M -Xmx512M -XX:MaxPermSize=256M -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman"

===============================================================================

10:39:36,154 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final
10:39:37,741 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.0.Final
10:39:37,842 INFO  [org.jboss.as] (MSC service thread 1-6) JBAS015899: WildFly 8.0.0.Final "WildFly" starting
10:39:42,278 INFO  [org.jboss.as.server] (Controller Boot Thread) JBAS015888: Creating http management service using socket-binding (management-http)
10:39:42,328 INFO  [org.xnio] (MSC service thread 1-5) XNIO version 3.2.0.Final
10:39:42,337 INFO  [org.xnio.nio] (MSC service thread 1-5) XNIO NIO Implementation Version 3.2.0.Final
10:39:42,400 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 36) JBAS010280: Activating Infinispan subsystem.
10:39:42,402 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 47) JBAS011800: Activating Naming Subsystem
10:39:42,396 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 52) JBAS013171: Activating Security Subsystem
10:39:42,428 INFO  [org.jboss.as.jacorb] (ServerService Thread Pool -- 37) JBAS016300: Activating JacORB Subsystem
10:39:42,454 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 56) JBAS015537: Activating WebServices Extension
10:39:42,523 INFO  [org.jboss.as.security] (MSC service thread 1-2) JBAS013170: Current PicketBox version=4.0.20.Final
10:39:42,577 INFO  [org.jboss.as.jsf] (ServerService Thread Pool -- 43) JBAS012615: Activated the following JSF Implementations: [main]
10:39:42,661 INFO  [org.jboss.as.naming] (MSC service thread 1-1) JBAS011802: Starting Naming Service
10:39:42,666 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-1) JBAS015400: Bound mail session [java:jboss/mail/Default]
10:39:42,776 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-1) JBAS017502: Undertow 1.0.0.Final starting
10:39:42,776 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 55) JBAS017502: Undertow 1.0.0.Final starting
10:39:42,819 INFO  [org.jboss.as.connector.logging] (MSC service thread 1-1) JBAS010408: Starting JCA Subsystem (IronJacamar 1.1.3.Final)
10:39:43,053 INFO  [org.jboss.remoting] (MSC service thread 1-4) JBoss Remoting version 4.0.0.Final
10:39:43,319 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 31) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
10:39:43,355 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-6) JBAS010417: Started Driver service with driver-name = h2
10:39:43,646 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 55) JBAS017527: Creating file handler for path C:\WildFly8\wildfly-8.0.0.Final/welcome-content
10:39:43,707 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-8) JBAS017525: Started server default-server.
10:39:43,715 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-8) JBAS017531: Host default-host starting
10:39:43,874 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-5) JBAS017519: Undertow HTTP listener default listening on /127.0.0.1:8080
10:39:44,130 WARN  [org.jboss.as.messaging] (MSC service thread 1-4) JBAS011600: AIO wasn't located on this platform, it will fall back to using pure Java NIO. If your platform is Linux, install LibAIO to enable the AIO journal
10:39:44,377 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-8) JBAS015012: Started FileSystemDeploymentService for directory C:\WildFly8\wildfly-8.0.0.Final\standalone\deployments
10:39:44,581 INFO  [org.hornetq.core.server] (ServerService Thread Pool -- 58) HQ221000: live server is starting with configuration HornetQ Configuration (clustered=false,backup=false,sharedStore=true,journalDirectory=C:\WildFly8\wildfly-8.0.0.Final\standalone\data\messagingjournal,bindingsDirectory=C:\WildFly8\wildfly-8.0.0.Final\standalone\data\messagingbindings,largeMessagesDirectory=C:\WildFly8\wildfly-8.0.0.Final\standalone\data\messaginglargemessages,pagingDirectory=C:\WildFly8\wildfly-8.0.0.Final\standalone\data\messagingpaging)
10:39:44,582 INFO  [org.hornetq.core.server] (ServerService Thread Pool -- 58) HQ221006: Waiting to obtain live lock
10:39:44,729 INFO  [org.hornetq.core.server] (ServerService Thread Pool -- 58) HQ221013: Using NIO Journal
10:39:44,748 WARN  [jacorb.codeset] (MSC service thread 1-2) Warning - unknown codeset (Cp1252) - defaulting to ISO-8859-1
10:39:45,033 INFO  [io.netty.util.internal.PlatformDependent] (ServerService Thread Pool -- 58) Your platform does not provide complete low-level API for accessing direct buffers reliably. Unless explicitly requested, heap buffer will always be preferred to avoid potential system unstability.
10:39:45,049 INFO  [org.jboss.as.jacorb] (MSC service thread 1-2) JBAS016330: CORBA ORB Service started
10:39:45,161 INFO  [org.hornetq.core.server] (ServerService Thread Pool -- 58) HQ221043: Adding protocol support CORE
10:39:45,286 INFO  [org.hornetq.core.server] (ServerService Thread Pool -- 58) HQ221043: Adding protocol support AMQP
10:39:45,299 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-4) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]
10:39:45,305 INFO  [org.hornetq.core.server] (ServerService Thread Pool -- 58) HQ221043: Adding protocol support STOMP
10:39:45,391 INFO  [org.hornetq.core.server] (ServerService Thread Pool -- 58) HQ221034: Waiting to obtain live lock
10:39:45,392 INFO  [org.hornetq.core.server] (ServerService Thread Pool -- 58) HQ221035: Live Server Obtained live lock
10:39:45,472 INFO  [org.jboss.as.jacorb] (MSC service thread 1-3) JBAS016328: CORBA Naming Service started
10:39:45,890 INFO  [org.jboss.ws.common.management] (MSC service thread 1-5) JBWS022052: Starting JBoss Web Services - Stack CXF Server 4.2.3.Final
Connected to server
10:39:45,958 INFO  [org.jboss.messaging] (MSC service thread 1-4) JBAS011615: Registered HTTP upgrade for hornetq-remoting protocol handled by http-acceptor-throughput acceptor
10:39:45,961 INFO  [org.jboss.messaging] (MSC service thread 1-1) JBAS011615: Registered HTTP upgrade for hornetq-remoting protocol handled by http-acceptor acceptor
10:39:46,254 INFO  [org.hornetq.core.server] (ServerService Thread Pool -- 58) HQ221007: Server is now live
10:39:46,254 INFO  [org.hornetq.core.server] (ServerService Thread Pool -- 58) HQ221001: HornetQ Server version 2.4.1.Final (Fast Hornet, 124) [c42f74fe-ddcf-11e3-9d67-07b9140cdda2] 
10:39:46,272 INFO  [org.hornetq.core.server] (ServerService Thread Pool -- 58) HQ221003: trying to deploy queue jms.queue.testQueue
10:39:46,278 INFO  [org.jboss.as.messaging] (ServerService Thread Pool -- 58) JBAS011601: Bound messaging object to jndi name queue/test
10:39:46,279 INFO  [org.jboss.as.messaging] (ServerService Thread Pool -- 58) JBAS011601: Bound messaging object to jndi name java:jboss/exported/jms/queue/test
10:39:46,300 INFO  [org.jboss.as.messaging] (ServerService Thread Pool -- 60) JBAS011601: Bound messaging object to jndi name java:/ConnectionFactory
10:39:46,301 INFO  [org.jboss.as.messaging] (ServerService Thread Pool -- 59) JBAS011601: Bound messaging object to jndi name java:jboss/exported/jms/RemoteConnectionFactory
10:39:46,424 INFO  [org.jboss.as.connector.deployment] (MSC service thread 1-2) JBAS010406: Registered connection factory java:/JmsXA
10:39:46,515 INFO  [org.hornetq.ra] (MSC service thread 1-2) HornetQ resource adaptor started
10:39:46,516 INFO  [org.jboss.as.connector.services.resourceadapters.ResourceAdapterActivatorService$ResourceAdapterActivator] (MSC service thread 1-2) IJ020002: Deployed: file://RaActivatorhornetq-ra
10:39:46,518 INFO  [org.jboss.as.connector.deployment] (MSC service thread 1-2) JBAS010401: Bound JCA ConnectionFactory [java:/JmsXA]
10:39:46,518 INFO  [org.jboss.as.messaging] (MSC service thread 1-8) JBAS011601: Bound messaging object to jndi name java:jboss/DefaultJMSConnectionFactory
10:39:46,636 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
10:39:46,637 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
10:39:46,637 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.0.0.Final "WildFly" started in 12523ms - Started 216 of 264 services (90 services are lazy, passive or on-demand)
10:40:35,457 INFO  [org.jboss.ejb.client] (XNIO-1 task-3) JBoss EJB Client version 2.0.0.Final
启动Java程序时,出现以下错误:

May 22, 2014 10:57:29 AM org.xnio.Xnio <clinit>
INFO: XNIO version 3.2.0.Final
May 22, 2014 10:57:29 AM org.xnio.nio.NioXnio <clinit>
INFO: XNIO NIO Implementation Version 3.2.0.Final
May 22, 2014 10:57:30 AM org.jboss.remoting3.EndpointImpl <clinit>
INFO: JBoss Remoting version (unknown)
May 22, 2014 10:57:30 AM HelloWorldJMSClient main
INFO: Attempting to acquire connection factory "jms/RemoteConnectionFactory"
May 22, 2014 10:57:35 AM HelloWorldJMSClient main
SEVERE: Failed to connect to any server. Servers tried: [http-remoting://127.0.0.1:8080    
(Operation failed with status WAITING after 5000 MILLISECONDS)]
无论我是从命令行还是从IntellJ IDEA启动服务器,结果都是一样的

网络流量

我相信这是一个相关的部分:

更新(2014年5月28日)

正如日志中下面一行指向我的(我有点怀疑)应该发出红旗:

2014年5月22日上午10:57:30 org.jboss.remoting3.EndpointImpl
信息:JBoss远程处理版本(未知

另外一点信息(不确定是否相关)我正在使用以下jar手动解析依赖关系:


同意@Iain
netstat-nab
将列出所有端口及其所有者进程。如果127.0.0.1:8080或0.0.0.0:8080被列为正在侦听,我可能会启动Wireshark并嗅探8080 tcp,以确保您的wildfly进程实际上正在应答。听起来你在寻找基本的http内容,wireshark将主要为你解码

不用说,这不应该在您的生产部署上/在您的生产部署上进行,除非所有东西都被破坏了,需要立即修复。解决产品问题后,您需要检查测试和升级程序

检查tcp/http连接设置诊断的事项:

  • 服务器不仅仅讨厌您的客户机。使用备用计算机和已知的工作客户机(或类似的客户机)连接到服务器。类似的客户端可以是浏览器或netcat/telnet。如果这样做有效,则表示您的客户机已损坏,或者您的服务器明确拒绝您的测试客户机
  • 服务器正在侦听。win:
    netstat-nab
    ,许多*nix:
    netstat-nlp
    。查找服务器进程的IP:端口侦听线路。可能是别的什么东西偷走了你的监听端口,或者它正处于等待状态,因为你崩溃的服务器从未关闭过它
  • 服务器正在接收传入的连接请求。在服务器端,windows:wireshark,nix:wireshark/
    tcpdump-i'port'
    。在您的侦听端口上查找来自客户端的传入SYN数据包,然后服务器回复。没有传入数据包意味着被网络配置或防火墙等阻止,这使得它成为一个网络调试问题。没有传出数据包通常意味着服务器已损坏或配置错误
  • 客户端接收服务器的响应。在确认服务器正在完成tcp连接但没有来自客户端的http命令后,请使用大致相同的过程验证客户端计算机是否接收到数据包。如果它没有收到服务器发送的数据包,则是网络调试问题。如果是,那么你的客户就破产了
  • 服务器完成协议响应。客户端发送完整请求,如“GET/HTTP/1.1\r\n\r\n”,服务器回复“HTTP/1.1 200 OK”。
    • 当您的客户端不期望时,服务器可能会回复一些握手二进制文件,例如,若您忘记了客户端上的SSL;这是一个很常见的错误。SSL协议解码通常涉及转储客户端或服务器上的密钥并将其复制到wireshark中——此时,我通常启动gdb/jdb/dtrace,并在输入SSL写入之前和从SSL读取返回之后转储字符串。这是因为连接已经建立并且是可靠的,所以除非它正在做一些有趣的事情和死亡,否则就把网络分析抛在脑后,开始一个常规的调试过程
  • 当你被难倒或花了一个小时没有进展时,可以尝试一些简单的事情:

  • 你看过说明书了吗?迟做总比不做好
  • 更改服务器侦听端口。10k-12k范围内的某些内容不太可能与任何内容冲突
  • 尽可能减少客户端和服务器可调线程/进程,以重现错误。如果错误消失了,你就有东西要找了。如果没有,那么在调试器中切换的线程上下文更少时,调试就会容易得多
  • 有支持合同吗?问问卖主。描述一下你所做的诊断,通常会跳过一些有用的东西,直到失败前一两次给它们一些上下文。就像问Stackexchange问题一样,只有你在付钱。如果他们不提供及时的支持,检查是否有更好的选择在相同的价位,并重新评估您的业务需求;一个伟大的软件,你不能得到工作是显着低于有用的和有价值的比蹩脚的软件,现在工作

  • 将Wildfly管理控制台中的JNDI名称更改为:

    jms/RemoteConnectionFactory(用于连接工厂)
    jms/queue/test(for queue)

    使用netstat检查localhost:8080上是否有东西在侦听。查看您的wildfly日志,了解任何相关信息。检查端口是否打开。@Iain-当我在浏览器中打开
    licalhost:8080
    时,是否会显示WildFly的欢迎页面,足以证明服务器在该端口上确实处于活动状态?@PM77-1是的。在你的问题中提到这一点。然而,你的防火墙可能仍然阻止你的客户端连接到它。应用程序防火墙有点挑剔。在这一点上,我希望增加wildfly服务器上的日志详细度,以查看它是否在我通过浏览器和服务器连接时记录任何消息
      TCP    127.0.0.1:8080         0.0.0.0:0              LISTENING