有沒有辦法可以取消激活默認情況下Weblogic爲特定EJB使用的optimization for collocated objects?取消激活並置對象的Weblogic負載平衡優化
編輯:一些背景:
我們有集羣的一個節點中運行的調度程序服務。這是出於歷史原因,目前無法更改。
此服務調用EJB並且我們想對這些調用進行負載平衡。不幸的是,目前,由於問題中提到的優化,每個呼叫在承載調度程序服務的節點上運行。
我想編寫一個自定義的負載平衡類,但是這個優化似乎在負載平衡步驟發生之前完成。
有沒有辦法可以取消激活默認情況下Weblogic爲特定EJB使用的optimization for collocated objects?取消激活並置對象的Weblogic負載平衡優化
編輯:一些背景:
我們有集羣的一個節點中運行的調度程序服務。這是出於歷史原因,目前無法更改。
此服務調用EJB並且我們想對這些調用進行負載平衡。不幸的是,目前,由於問題中提到的優化,每個呼叫在承載調度程序服務的節點上運行。
我想編寫一個自定義的負載平衡類,但是這個優化似乎在負載平衡步驟發生之前完成。
不太熟悉weblogic的膽量,但閱讀他們的材料我會說你不能,沒有一定的欺騙。
看起來您可以將JMS(MDB)外觀置於您的EJB之前,而不遵守並置對象優化。
OR
如果調度基於servlet,你應該能夠把它在容器內的單獨的Web應用程序部署和有它執行到EJB集羣呼叫。
集羣中有多少個節點?您是否考慮過將EJB部署到除調度程序服務已部署到的節點以外的其他節點?
假設您試圖調用遠程EJB(本地ejbs上的負載平衡只能通過Patrick提到的間接技巧獲得),您必須使用集羣的地址而不是特定的服務器創建新的InitialContext 。這款新IC將提供存根,就像您是外國客戶一樣,但要遵守相同的負載平衡策略。
不幸的是,這意味着EJB3注入將無法正常工作。你必須自己做查找。有一個機會,這是純粹的推測,你可以從集羣IC獲得的那些存根是可序列化的。換句話說,可能會綁定它們,然後使用@Resource注入它們。
這不起作用。更確切地說,如果我們用像這樣的節點的地址(t3:// node1,node2,node3)構建新的InitialContext,weblogic仍然會優化呼叫 – Michel 2010-10-20 14:08:54
你有解決這個問題嗎?是否可以停用或定製WebLogic對並置對象的優化? – XpiritO 2010-01-06 09:26:14