感謝雪魚一哥幫忙今天早上的Webinar,

在台灣最熟JBoss Messaging 應該就是他了

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

HornetQ 是一個MOM (Message-oriented Middleware) 幫忙管理messaging的系統平台。

聽起來可能很陌生,但是如果我講到 Queue 與 Topic 可能就會知道拉。

設定方式,以後再介紹Cluster.

這次先已開發為主的Standalone 方式建立。

(如果你沒有安裝過JEAP 6 Standalone請到這裡參考)

1. 確定你使用的模組是到 $JBOSS_INSTALL_PATH/standalone/configuration/standalone-full.xml

因為我們需要用到messaging 的subsystem

所以,請將$JBOSS_INSTALL_PATH/standalone/configuration/standalone-full.xml rename 成 standalone.xml

2. 啟動Standalone Server

到$JBOSS_INSTALL_PATH/bin/ 執行 standalone.sh

3. 到http://localhost:9990 去,登入後,到Profile 下,的Messaging 下的 Destination.
5

通常在JBoss 裡面,如果有遇到不同的Application 需要共用一些JAR的檔案,我們都會請他放在 JBOSS_INSTALL_PATH/server/$PROFILE/lib 下。

這種Loading 的方式,會將EAR 與 這些library 分別Load 近來。

因此,load 之後,兩個 EAR 都會對應到同一個 Load 進來的Library的instance.

因為有人問,所以就花時間寫了個Sample,既然寫了,就PO上來吧。

我發現有很多人不知道Java EE 6 是不需要web.xml 這個檔案的, 所以在這裡要特別注明一下,因為有人在開發全新的專案時,(並不是migration) 還是會不由自主地放進這個檔案,當然,如果你有特別需要設定當然是可以,但若只是為了定義servlet, filter 這些,只要善用新的Annotation 如 @WebServlet, @WebFilter, @WebInitParam, @WebListener 等... 不需要 web.xml 了!

但這不是重點,這篇的重點是因為發現有人會把JBoss server 提供的common log 與 log4j 的 log 分不清楚... 文章中提供一些範例給大家使用。想要完整的sample code 再來跟我要吧。

首先,當然要先講JBoss 的logging 機制。畢竟這個論壇是J老闆的場子 XD

JBoss 的logging 機制

使用JBoss logging 的機制有個好處,

1. 你不用再去啦哩拉匝的找log4j的jar檔,

2.

今天有個客戶遇到這個問題,就順便PO 上來,

Exception 的內容如下

Caused by: java.lang.IllegalStateException: Cannot find object in dispatcher with id xxx-xxxxx-1-xxxx-xxxx-xxxx

at org.jboss.jms.wireformat.SessionSendRequest.serverInvoke(SessionSendRequest.java:101)

at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke

(JMSServerInvocationHandler.java:157)

at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:930)

at org.jboss.remoting.transport.socket.ServerThread.completeInvocation

(ServerTh

先前版本的JBoss 大多用 mod_jk, 但是這個版本的J老闆已經開始支援更聰明的load balance 機制,mod_cluster.

mod_cluster 有什麼好處咧?他可以去判斷server的狀況來決定request 要導到哪一台server 上,如CPU的loading 啦~session 的數量等等。而先前的只有亂數丟,跟輪流丟這兩種方式而已。

在開始設定前,請先確定你的JBoss Cluster 環境已經建立起來了。

如果沒有,請參考先前的文章

1. Standalone 啟動 Cluster

2.
4

又拖稿了.... 請不要催促我咩,因為公司的事情很多!

所以我絕對沒有偷懶噢!

要啓動Domain 的Cluster 很簡單!

只要先學會如何將Domain 啓動的話!如果你不知道,可以先參考之前的文章!

這篇算是第三集了~如果你是從這篇文章開始的話,記得先回前兩個看噢!

這次的做法會將main-server-group 做成一個Cluster (下圖的Cluster One),

other-server-group 做一個Cluster (下圖的Cluster Two),

但是third-server-group 就還是保留一臺!

首先,要將main-server-group 與other-server-group 設定為 Cluster,

跟之前Domain 起動是一樣的!只是Profile 的部分,由 default 改為 full-ha 或是 ha 即可!

當然使用的socket 也要改成是 full-ha-socket 或是 ha-socket.
1
Popular Posts
Popular Posts
About Me
Archive 檔案室
Labels
Labels
Blog of My Friends
Blog of My Friends
Facebook Groups
Facebook Groups
Support a friend
Support a friend
Loading
Dynamic Views theme. Powered by Blogger. Report Abuse.