Rabbitmq Java客户端中的代理

5
有没有办法为RabbitMQ的Java客户端设置代理?
package com.rabbitmq;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.MessageProperties;

public class SendToRabbitMQ {
    private final static String QUEUE_NAME = "observation_queue";

    public static void sendObservation(String observation) {
        try {
            ConnectionFactory factory = new ConnectionFactory();
            factory.setHost("x.x.x.x");
            factory.setUsername("test");
            factory.setVirtualHost("test_vh");
            factory.setPassword("test");
            Connection con = factory.newConnection();
            Channel channel = con.createChannel();
            channel.queueDeclare(QUEUE_NAME, true, false, false, null);
            channel.basicPublish( "", QUEUE_NAME,
                    MessageProperties.PERSISTENT_TEXT_PLAIN,
                    observation.getBytes());
            System.out.println(" Ovservation Sent '" + observation + "'");
            channel.close();
            con.close();
        } catch (Exception e) {
            e.printStackTrace();
        }


    }
} 

我想为这个连接设置代理。

2个回答

1

1
需要注意的是,代理服务器本身需要支持SOCKS协议,而并非所有代理都支持(例如i-Filter)。 - Kirill G.

0

您可以通过系统属性设置代理,如第一个答案中所述的链接,但请注意它将对整个JVM有效。如果有规则来过滤流量,则可能会过滤您的数据库连接或其他内容。

如果您已经找到了如何使用代理对象处理代理的方法,欢迎在自己的问题的答案中解释!我正在寻找这个!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接