2008-09-30 67 views
4

有沒有辦法可以取消激活默認情況下Weblogic爲特定EJB使用的optimization for collocated objects取消激活並置對象的Weblogic負載平衡優化

編輯:一些背景:

我們有集羣的一個節點中運行的調度程序服務。這是出於歷史原因,目前無法更改。

此服務調用EJB並且我們想對這些調用進行負載平衡。不幸的是,目前,由於問題中提到的優化,每個呼叫在承載調度程序服務的節點上運行。

我想編寫一個自定義的負載平衡類,但是這個優化似乎在負載平衡步驟發生之前完成。

+0

你有解決這個問題嗎?是否可以停用或定製WebLogic對並置對象的優化? – XpiritO 2010-01-06 09:26:14

回答

0

不太熟悉weblogic的膽量,但閱讀他們的材料我會說你不能,沒有一定的欺騙。

看起來您可以將JMS(MDB)外觀置於您的EJB之前,而不遵守並置對象優化。

OR

如果調度基於servlet,你應該能夠把它在容器內的單獨的Web應用程序部署和有它執行到EJB集羣呼叫。

0

集羣中有多少個節點?您是否考慮過將EJB部署到除調度程序服務已部署到的節點以外的其他節點?

1

假設您試圖調用遠程EJB(本地ejbs上的負載平衡只能通過Patrick提到的間接技巧獲得),您必須使用集羣的地址而不是特定的服務器創建新的InitialContext 。這款新IC將提供存根,就像您是外國客戶一樣,但要遵守相同的負載平衡策略。

不幸的是,這意味着EJB3注入將無法正常工作。你必須自己做查找。有一個機會,這是純粹的推測,你可以從集羣IC獲得的那些存根是可序列化的。換句話說,可能會綁定它們,然後使用@Resource注入它們。

+0

這不起作用。更確切地說,如果我們用像這樣的節點的地址(t3:// node1,node2,node3)構建新的InitialContext,weblogic仍然會優化呼叫 – Michel 2010-10-20 14:08:54