2015-04-02 89 views
1

我们最近将我们的Application Server从Glassfish更改为Wildfly。对于Glassfish,我们使用QBrowser来监控我们的JMS队列,可悲的是这个工具不适用于Wildfly。将HermesJMS连接到Wildfly 8.2

快速搜索后,我找到了Tool HermesJMS。虽然有很多指导如何建立与JMS队列的连接,但我无法直接为JBoss Wildfly应用服务器找到任何东西。在通过不同的指南阅读大量内容之后,我想我现在可以连接到野蛮服务器,但是我不能连接到我的jms队列。

首先我尝试通过JNDI InitialContext进行连接。 Here's我为它设置:

的InitialContextFactory:org.jboss.naming.remote.client.InitialContextFactory providerURL:HTTP的远程://本地主机: urlPkgPrefixes:org.jboss.naming.remote.client securityPrincipal :admin securityCredentials:admin

它确实连接,但我看到的都是我部署的Web应用程序和“jms”文件夹。但它们都包含相同的Web应用程序再加上jms文件夹,并显示为带有白色X的红色圆圈。

所以下次我试图手动建立会话通过 “创建新的JMS会话” 具有以下优惠:

会议:HornetQ的 插件:HornetQ的 属性:

绑定:JMS/RemoteConnectionFactory 的InitialContextFactory :的InitialContextFactory:org.jboss.naming.remote.client.InitialContextFactory providerURL:HTTP的远程处理://本地主机: urlPkgPrefixes:org.jboss.naming.remote.client

用户:guest密码:通过

guest用户是我在Wildfly创建为应用程序的用户

的用户当我在上面说,有没有这样的队列的一个队列,然后双击。

javax.jms.JMSException: There is no queue with name java:jboss/jms/queue/ngsEmailProvRequestQueue 
at org.hornetq.jms.client.HornetQSession.createQueue(HornetQSession.java:397) 
at hermes.impl.jms.SimpleDestinationManager.createDesintaion(SimpleDestinationManager.java:60) 
at hermes.impl.JNDIDestinationManager.createDesintaion(JNDIDestinationManager.java:105) 
at hermes.impl.jms.SimpleDestinationManager.getDestination(SimpleDestinationManager.java:137) 
at hermes.impl.jms.AbstractSessionManager.getDestination(AbstractSessionManager.java:387) 
at hermes.impl.DefaultHermesImpl.getDestination(DefaultHermesImpl.java:323) 
at hermes.browser.tasks.BrowseDestinationTask.invoke(BrowseDestinationTask.java:122) 
at hermes.browser.tasks.TaskSupport.run(TaskSupport.java:175) 
at hermes.browser.tasks.ThreadPool.run(ThreadPool.java:170) 
at java.lang.Thread.run(Thread.java:745) 

有人知道我错过了什么吗?甚至有可能让HermesJms与Wildfly一起工作?如果不是的话,那么JMS队列有一个替代的监控工具吗?

谢谢你的帮助。

回答

1

要与Wildfly工作,按照此文档:https://developer.jboss.org/wiki/UsingHermesJMSWithHornetQ

第二部分:Configuring HermesJMS for JBoss7/EAP6 with HornetQ

并改变这些值:

binding=jms/RemoteConnectionFactory 

initialContextFactory=org.jboss.naming.remote.client.InitialContextFactory 

providerURL=http-remoting://localhost:8080 

urlPkgPrefixes=org.jboss.naming.remote.client 

在目的地,也改变:

Name: sample 

Domain: QUEUE 
0

我最近重新审视了这个团队正在从glassfish(yaye ...)转到wildfly。我尝试了wildfly9,它工作。 我认为这是一个导出你的队列名称的问题。见下文

  1. 的java:/ JMS /队列/测试不起作用

  2. 的Java:JBoss的/导出/ JMS /队列/测试工作

注:wildfly9.2是有hornetq的最终版本。 wildfly 10 ++支持artemis。

+0

顺便说一句,在wildfly v10 ++中,在redhat 7中存在依赖关系。因为它的glibc版本较旧,所以redhat 6将不起作用。希望它有助于那些迁移到redhat和wildfly的人 – erickyi2006 2018-01-08 05:59:28

相关问题