Rabbitmq Java客户端中的代理



有什么方法可以为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();
        }

    }
} 

我想为此连接设置一个代理。

您必须设置一个SOCKS代理。

请参阅:http://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html

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

如果您已经找到如何使用proxy对象处理代理,欢迎您在回答自己的问题时进行解释!我在找那个!

最新更新