請問您能幫我解決一個簡單的問題。 我需要使用PooledConnectionFactory而不使用Spring,JMSTemplate。 ActiveMQ說,這個班級正在集中連接,製作者,會話,以及讓我感到困惑的東西,我不知道如何讓它們脫離實例。我正在等待一些takeConnection(),然後是realeaseConnection()和takeProducer()並實現了producer()。 pooledConnectionFactory.start();後應該做什麼?通常,我會做連接c = pooledConnectionFactory.createConnection ...希望,我解釋了我的問題。以及生產者和會話如何彙集,如果它們是從Connection直接創建的。ActiveMQ PooledConnectionFactory不帶彈簧
connectionFactory = new ActiveMQConnectionFactory(
userId,
passWord,
brokerURL);
log.info("Queueing service init: BrokerURL: " + brokerURL + " UserId: " + userId + " Paasword: " + passWord);
pooledConnectionFactory = new PooledConnectionFactory(connectionFactory);
pooledConnectionFactory.setIdleTimeout(5000);
pooledConnectionFactory.setMaxConnections(10);
pooledConnectionFactory.setMaximumActive(5000);
pooledConnectionFactory.start();
哦,謝謝,我今天會試試。我想,我做了錯誤的測試。我創建了1個連接池,然後創建了2個連接,並將它們進行比較,它們不相等,但我沒有調用.close()希望這是我需要的 – user1255246
我試圖像你說的那樣實現,所以我有pooledConnectionFactory ,我用createConnection()創建了連接;在連接實例上,我稱之爲啓動和關閉。它可以工作,但似乎比使用一個連接慢。在http:// localhost:8161/admin/topics.jsp的activeMQ控制檯中,我可以看到助手主題的連接增加得非常快(在這裏我有一個關於10個主題消息的連接,這裏我有一千個),所以似乎每次都會創建連接,並且不會返回到池中,我的所有內存都已關閉,並且計算機開始工作不正常。 – user1255246
嗯,我還沒有玩過很多這些東西來肯定知道。有一件事,如果你使用的是連接工廠,那麼這個池就是生產者,會話和連接。您不需要調用.start(),因爲如果您啓動了偵聽器或使用者,它就開始接收消息。爲此,請使用普通的CF. –