有没有办法将代理设置为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();
}
}
}
我想为此Connection设置代理。
答案 0 :(得分:1)
您必须设置SOCKS代理。
请参阅:http://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html
答案 1 :(得分:0)
您可以通过系统属性设置代理,如第一个答案中给出的链接中所述,但请注意它对整个JVM有效。如果存在过滤流量的规则,则可以过滤数据库连接或其他连接。
如果您已找到如何使用Proxy对象处理代理,欢迎您在回答自己的问题时解释!我在找那个!