簡體   English   中英

如何為QueueBrowser定義隊列?

[英]How to define a queue for QueueBrowser?

我在以下網頁中閱讀example1:

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();
}

在這種情況下,我將如何定義隊列?

在示例代碼中, MQXAQueueConnectionFactory實例化為空,然后使用setter方法填充所有屬性。 您可以通過實例化Queue類型的新的空目標,然后使用setter方法為MQ提供足夠的詳細信息以將其解析為實際隊列,來采用相同的方法

或者,您可以在同一鏈接頁面上采用示例3的方法,並通過建立JNDI上下文並按名稱檢索預先存在的管理對象來查找隊列。 受管對象可以具有JMS對象的IBM MQ類的屬性中記錄的任何或所有屬性

在這兩種情況下,要打開的隊列都必須已經存在於隊列管理器上。 例如,您可以將SYSTEM.DEFAULT.LOCAL.QUEUE指定為要瀏覽的隊列,因為您可以確定隊列管理器上存在該隊列。

createBrowser方法需要放入隊列。為此,您需要創建一個新的合適的隊列實例。

例如

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

如果有興趣,請看一下本指南: https : //examples.javacodegeeks.com/enterprise-java/jms/jms-queuebrowser-example/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM