1

私はactiveMQが初めてです。すべてのキューを取得してメッセージを読み取るコードを作成する必要があります。すべてのキューを取得するような API は見つかりませんでした。ActiveMQからキューを読み取るにはどうすればよいですか。可能であれば、いくつかの例が役立ちます。

4

2 に答える 2

5

Java で ActiveMQ のすべてのキューを取得します。

pom.xmlに以下の Maven 依存関係を追加

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jms</artifactId>
    <version>4.3.2.RELEASE</version>
</dependency>  

<dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-spring</artifactId>
    <version>5.14.0</version>
</dependency>

tcp://localhost: 61616/を、activemq サービスが実行されているtcp://180.50.50.10:61616 / に変更できます。

Java コード:

try {
    ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616/");

    ActiveMQConnection connection = (ActiveMQConnection) connectionFactory.createConnection();
    DestinationSource ds = connection.getDestinationSource();

    connection.start();

    Set<ActiveMQQueue> queues = ds.getQueues();

    for (ActiveMQQueue activeMQQueue : queues) {
        try {
            System.out.println(activeMQQueue.getQueueName());
        } catch (JMSException e) {
            e.printStackTrace();
        }
    }
    connection.close();
} catch (Exception e) {
    e.printStackTrace();
}

コンソール出力:

HtmlQueue
emaildewsgmc
pdfdirectinpirepscli
pdfdirectinpirecli
InQueue
ReceiveQueue
NormalPriorityQueue
emaildirecthp
pdfdewsgmc
pdfdirecthp
Send2Recv
SaveQueue
LowPriorityQueue
emaildewshp
HighPriorityQueue
PdfQueue
AnotherDest
pdfdewshp
emaildirectgmc
于 2016-09-16T09:45:54.817 に答える
1

Man 既に activeMQ という名前の API を使用しており、この API からすべてのキューを取得できます。
あなたが言った質問のこの部分を理解できません
* get Q のような API が見つかりませんでした * とにかく、これにはJMX
を使用できます。最も簡単な方法は、JMX コンソールまたは JConsole をブローカー JVM に向けて JMX を使用することです。 getDestinations()経由で Java コードを使用して、ブローカからすべてのアクティブな宛先を取得することもできます。getDestinationMap() を使用して、ActiveMQDestination によってインデックス付けされたすべての Destination オブジェクトのマップを取得することもできます。これにより、キューの深さなどの個々の宛先の詳細を確認できます。最後の方法は、WebConsoleを使用することです。


. ActiveMQ Web コンソールは、ActiveMQ を操作するための Web ベースの管理ツールです。JMX サポートと共に使用すると、ActiveMQ を操作するための非常に貴重なツールになります。ほとんどすべてを見つけることができる Web サイトで ActiveMQ
の詳細なサポートに従ってください:)

于 2012-12-18T07:01:13.553 に答える