2017-06-23 38 views
0

我一直負責評估JMS客戶端的activemq-artemis。我有RabbmitMQ經驗,但沒有任何與activemq-artemis/JMS。如何解決新的activemq-artemis安裝阻止問題?

我在我的本地機器上安裝了artemis,按照說明創建了一個新代理,並將其設置爲Windows服務。 Windows服務啓動和停止就好了。我沒有更改broker.xml文件。

對於我的第一個測試,我試圖從一個獨立的java程序執行一個JMS隊列產生/消耗。我使用的是從Artemis的用戶手冊中的使用JMS部分中的代碼,(不使用JNDI):

TransportConfiguration transportConfiguration = new TransportConfiguration(NettyConnectorFactory.class.getName()); 
ConnectionFactory cf = ActiveMQJMSClient.createConnectionFactoryWithoutHA(JMSFactoryType.CF,transportConfiguration); 

Queue orderQueue = ActiveMQJMSClient.createQueue("OrderQueue"); 
Connection connection = cf.createConnection(); 
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); 

MessageProducer producer = session.createProducer(orderQueue); 
MessageConsumer consumer = session.createConsumer(orderQueue); 

connection.start(); 

TextMessage message = session.createTextMessage("This is an order"); 
producer.send(message); 

TextMessage receivedMessage = (TextMessage)consumer.receive(); 
System.out.println("Got order: " + receivedMessage.getText()); 

當我運行這段代碼,我得到以下錯誤:

警告:AMQ212054:目標地址= jms.queue.OrderQueue被阻止。如果系統配置爲阻止,請確保您使用此配置上的消息。

我的研究還沒有確定,如果這是一個服務器端設置,或讓生產者發送沒有阻塞。我一直無法找到一個生產者發送方法,它具有阻塞布爾值,只有持久性。任何關於何處關注的想法?謝謝。

編輯:新的地址設定元件加入到broker.xml奉獻給這個隊列:

<address-setting match="jms.queue.OrderQueue"> 
      <max-size-bytes>104857600</max-size-bytes> 
      <page-size-bytes>10485760</page-size-bytes> 
      <address-full-policy>PAGE</address-full-policy> 
</address-setting> 

回答

1

我在用戶手冊中發現這種進一步的研究:

max-disk-usage The max percentage of data we should use from disks. The System will block while the disk is full. Default=100

,並在日誌服務啓動後沒有信息發佈:

WARN [org.apache.activemq.artemis.core.server] AMQ222210: Storage usage is beyond max-disk-usage. System will start blocking producers.

所以我覺得不管我的地址設置它會開始阻塞。查看broker.xml中的max-disk-usage設置,將其設置爲90.文檔默認值爲100,我設置爲,沒有啓動日誌警告,現在我的測試發佈/訂閱代碼正常工作。

1

此提醒,當地址策略設置爲阻止和內存達到了消息出現。檢查在broker.xml中設置的address policy。如果它設置爲BLOCK,請將其更改爲PAGE。或者使用來自OrderQueue的待處理消息。

+0

感謝這一點,我檢查了這一點,並且兩個地址設置條目都設置爲地址完整策略的PAGE。我做了一些進一步的搜索,並遇到了這個頁面:https://communities.ca.com/thread/241725820我的broker.xml缺少最大字節和頁面大小字節的條目,所以我添加了這些。但現在經紀人不會啓動這些添加,我得到一個Windows服務啓動錯誤。 – user640118

+0

任何錯誤信息? – Varsha

+0

這是一個通用服務不會啓動的消息。不過,我在你提供的鏈接上做了一些調查。我添加了一個專用於此隊列的地址設置元素(請參閱新元素的原始帖子) 代理現在可以正常啓動,但我仍然收到阻止消息。 – user640118

相關問題