2016-05-24 8 views
2

QueueBrowserのキューを定義する方法は?私は、次のWebページで例1を読んでいた

ラインで

http://www.programcreek.com/java-api-examples/index.php?api=javax.jms.QueueBrowser

QueueBrowser browser = session.createBrowser(queue1); 

はどこ

定義さ
queue1 

のですか?

これは私が接続を開閉の私の例である:私はこのケースでキューを定義する方法

public static void main(String[] args) throws Exception { 
    Logger logger = LoggerFactory.getLogger(Connection.class); 
    String hostname = "xxxxxx"; 
    int port = 1442; 
    String queueManager = "xxxxxxxx"; 
    String channel = "xxxxxxxxxx"; 
    String queueName = "xxxxxxxxxx"; 
    String keystore = "xxxxxxxxx/xxxxxxx/ssclient_test.ks"; 
    String truststore = "cxxxxxx/xxxxxxxx/client_test.ts"; 
    String suiteName = "xxx_xxx_xxxx_xxx_xxx_xxx"; 
    String keyStorePassKey = "xxx_KEYSTORE"; 
    SSLSocketFactory sslSocketFactory = createSslSocketFactory(new File(keystore), new File(truststore), 
      keyStorePassKey); 
    MQXAQueueConnectionFactory mqConnFactory = new MQXAQueueConnectionFactory(); 
    mqConnFactory.setHostName(hostname); 
    mqConnFactory.setPort(port); 
    mqConnFactory.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP); 
    mqConnFactory.setQueueManager(queueManager); 
    mqConnFactory.setChannel(channel); 
    mqConnFactory.setUseConnectionPooling(true); 
    mqConnFactory.setSSLSocketFactory(sslSocketFactory); 
    mqConnFactory.setSSLCipherSuite(suiteName); 
    QueueConnection queueConnection = mqConnFactory.createQueueConnection(); 
    QueueSession queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); 
    queueSession.close(); 
    queueConnection.close(); 
} 

答えて

1

createBrowserメソッドは、キューを入れることを期待しています。 このため、適切な新しいキューインスタンスを作成する必要があります。

など。

ActiveMQQueue myQueue = new ActiveMQQueue("My queue"); 
QueueBrowser browser = session.createBrowser(myQueue); 

興味があれば、このガイドを見てみましょう: https://examples.javacodegeeks.com/enterprise-java/jms/jms-queuebrowser-example/

+0

私は、溶液を提供した実施例5の28行目を使用した。 – user3809938

+0

@ user3809938うれしいです。 – codex

1

例のコードでは、MQXAQueueConnectionFactoryはインスタンス化され、次にすべての属性がセッターメソッドを使用して埋められます。新しい方法で空の宛先Queueをインスタンス化し、次にsetter methodsを使用してMQを実際のキューに解決するための十分な詳細を提供することで、同じ方法をとることができます。

また、同じリンク先ページで例3の方法を使用して、JNDIコンテキストを確立し、既存の管理対象オブジェクトを名前で取得してキューをルックアップすることもできます。管理対象オブジェクトは、Properties of IBM MQ classes for JMS objectsに記載されているプロパティの一部またはすべてを持つことができます。

これらのいずれの場合も、オープンされているキューは、キュー・マネージャー上にすでに存在している必要があります。たとえば、キュ​​ー・マネージャーに存在することを確認できるので、参照するキューとしてSYSTEM.DEFAULT.LOCAL.QUEUEを指定することができます。

関連する問題