【问题标题】:Can't get Java QPID to work无法让 Java QPID 工作
【发布时间】:2016-08-16 16:57:47
【问题描述】:

我正在尝试用 Java 创建一个简单的 AMQP 应用程序。应用程序应该简单地在两个客户端之间反弹一个数字。每次收到该号码时,客户端应将其加 1 并将其发送回另一个客户端。但是,我根本无法让该示例正常工作。我可以发送第一个号码,但从未收到。在代理的 Web 界面中,我看到零连接和消息。我做错了什么,但无法弄清楚它是什么。希望这里有人可以发现错误。下面是我写的代码。

    Messenger mng = Proton.messenger();
    mng.start();
    mng.subscribe("localhost:5672");

    Message msg = Proton.message();
    msg.setAddress("localhost:5672");
    msg.setSubject("foobar");


    if (args.length > 2 &&  args[2].equals("foo"))
    {
        System.out.println("Sending initial: 1");
        msg.setBody(new AmqpValue("1"));
        mng.put(msg);   
        mng.send();
        System.out.println("Sent initial: 1");
    }


    try 
    {
        while (true)
        {
            mng.recv(1);
            while(mng.incoming() > 0) {
                Message message = mng.get();
                int consumed = Integer.parseInt(message.getBody().toString());
                System.out.println("Received: " + consumed);
                consumed = consumed % 100;
                if (consumed == 0)
                {
                    long seconds = (System.currentTimeMillis() - start) / 1000;
                    start = System.currentTimeMillis();
                    System.out.println("Last hundred messages took (s): " + seconds);
                }

                msg.setBody(new AmqpValue(""+(consumed+1)));
                mng.put(msg);
                mng.send();
            }
        }
    } 
    catch (Exception e) 
    {
        System.out.println("proton error: " + e.getMessage());
    }

【问题讨论】:

    标签: java amqp qpid


    【解决方案1】:

    好吧,我完全关闭了我的防火墙并稍微更改了代码以监听并订阅我的本地 IP 地址,这对我来说效果很好:

    Messenger mng = Proton.messenger();
    mng.start();
    mng.subscribe("amqp://~xxx.xxx.xxx.xxx");
    
    Message msg = Proton.message();
    msg.setAddress("amqp://yyy.yyy.yyy.yyy");
    ....
    

    【讨论】:

      猜你喜欢
      • 2016-02-24
      • 1970-01-01
      • 2016-03-22
      • 2014-11-22
      • 2012-06-08
      • 1970-01-01
      • 2023-02-20
      • 2016-08-06
      • 1970-01-01
      相关资源
      最近更新 更多