0

activeMQを使用してJMSアプリケーションを設計する必要があります。パブリッシャーとサブスクライバーの両方として機能するクライアントが2つあります。たとえば、最初のクライアントがsmthを描画する場合、2番目のクライアントはGUIでそれを表示できる必要があり、その逆も同様です。

サーバーに「バインド」する方法とactiveMQを実行する方法は明らかです。クライアントを設計する方法、SWINGを実行する場所、および図面を送信する方法がわかりません。EGプロデューサーは次のようになります...

public class Producer {

private static String url = ActiveMQConnection.DEFAULT_BROKER_URL;
private static String subject = "DRAWINGS";

public static void main(String[] args) throws JMSException {
    ConnectionFactory connectionFactory =
        new ActiveMQConnectionFactory(url);
    Connection connection = connectionFactory.createConnection();
    connection.start();

    Session session = connection.createSession(false,
        Session.AUTO_ACKNOWLEDGE);

    Destination destination = session.createTopic(subject);

    MessageProducer producer = session.createProducer(destination);


   // how to implement producer as consumer as well and where to create the SWING

   // and bind it to the client?


    connection.close();
}

}

4

1 に答える 1

0

次のように MessageProducer を作成したのと同じ方法で MessageConsumer を作成します。

    MessageConsumer consumer = session.createConsumer(destination);
    consumer.setMessageListener(new MessageListener() {
        public void onMessage(Message m) {
            // Do something.
        }
    });

もちろん、この例の目的のためだけに、ブロッキング ループなどを介してメイン メソッドを実行し続ける必要がありますが、それが基本です。

于 2012-11-16T19:20:53.977 に答える