1

JMS api で MQ を使用する場合、ibm 独自の mq api の openOptions と同じ効果を得るにはどうすればよいですか?

JMS API には openOptions の概念さえありますか? もしそうなら、APIクラス/メソッドに関して同等のものは何ですか?

関連するスタックオーバーフローの質問 - mirating-from-ibm-mq-to-javax-jms-weblogic

4

2 に答える 2

1

この簡単な例は、Message(JBoss MQ を使用して)を送信する方法を示しています。

    final Properties initialContextProperties = new Properties();
    initialContextProperties.put("java.naming.factory.initial",
            "org.jnp.interfaces.NamingContextFactory");
    initialContextProperties.put("java.naming.provider.url",
            "jnp://localhost:1099");

    //

    final InitialContext ic = new InitialContext(initialContextProperties);

    final QueueConnectionFactory qcf = (QueueConnectionFactory) ic
            .lookup("XAConnectionFactory");

    final Queue queue = (Queue) ic.lookup("queue/A");

    //

    final QueueConnection queueConnection = qcf.createQueueConnection();

    final boolean transacted = false;
    final QueueSession queueSession = queueConnection.createQueueSession(
            transacted, Session.AUTO_ACKNOWLEDGE);

    final QueueSender queueSender = queueSession.createSender(queue);

    final TextMessage textMessage = queueSession.createTextMessage("Hello");
    queueSender.send(textMessage);

したがって、さまざまな段階/レベルでさまざまなオプションがあります。

  • 通常、JNDI ルックアップ用にいくつかのプロパティが必要です (を取得するためInitialContext)。
  • JNDI を使用して、ファクトリとキューを名前で検索する必要があります。
  • を作成するとき、いくつかの設定がありますQueueSession: トランザクション、承認。
  • 使用法は、インスタンスcreateSendercreateReceiver、を呼び出すときに指定されます。createBrowserQueueSession
于 2013-07-03T07:03:47.370 に答える