2015-09-25 43 views
0

我必須創建一個具有多個MessageListeners的JMS客戶端應用程序,並且我想分配特定的內存給每個MessageListener(我將爲每個創建一個單獨的進程)。有沒有辦法在Java中以編程方式執行此操作?我可以將內存分配給特定的java進程(jms listener進程)嗎?

+0

你如何調用你的客戶端應用程序?我假設你做java YOUR_APPLICATION_NAME ... – Pankaj

+0

我不明白。如果MessageListener在單獨的進程中運行,那麼它們如何*不擁有自己的內存,以及它們是否都是同一個JMS客戶端應用程序的一部分? –

+0

我不太確定我會採取的方法,但我想解決的問題是:我將有1個彈簧應用程序,在啓動時應該啓動說4個messagelisteners監聽4個不同的隊列。所以,根據需要,我想將這些內存分配給這些監聽器,這樣我就可以確保優先級較高的隊列沒有堵塞。 – RHS

回答

1

我已閱讀下面的查詢和了解爲什麼你正在嘗試做的,恕我直言,後您的意見,得到了下面從我身邊的建議:

著名的性能規則是「措施&不用猜」 。

因此,測量高峯負載的性能&也知道你的斷點負載。一旦執行性能測試,測量/查找統計數據,然後您就會知道應用程序的功能。另外,確保你正在做適量的彈性(非功能性)測試。

然後最後根據業績結果/結果:

(1)配置您的JVM(一個過程)內存參數正確

(2)選擇合適的GC算法

如果您遵循這些規則,沒有必要去調整MessageListener級別。

+0

是的,我想我必須退後一步,並考慮這些方面。謝謝! – RHS

相關問題