2015-04-02 52 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

相關問題