2012-11-27 24 views
1

我創建這樣一個目標:的ActiveMQ沒有創造隊列程序自動

Destination destination = session.createQueue("queue_name"); 

在這種情況下,如果「queue_name」不存在指定的隊列中,它會被創建。

我想形成一個隊列的目的地,如果它不存在,我不想創建它

有沒有辦法連接到隊列,只有當它存在?

回答

1

我想你應該能夠從你的連接中使用DestinationSource獲得可用隊列的列表。你可以看看隊列是否存在。

Havnt嘗試過,但認爲它看起來像這樣:

 ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616"); 
     ActiveMQConnection connection = (ActiveMQConnection)connectionFactory.createConnection(); 
     DestinationSource ds = connection.getDestinationSource(); 
     Set<ActiveMQQueue> queues = ds.getQueues(); 
1

您必須使用ActiveMQ中的安全功能來限制允許創建目標的用戶。然後,您可以在ActiveMQ配置中配置一組始終創建的目標。有關此主題的信息,請參閱此page以及有關配置安全性的此page

相關問題