Rabbitmq Java 客户端中的代理

问题描述 投票:0回答:3

有没有办法为 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();
        }


    }
} 

我想为此连接设置代理。

java rabbitmq
3个回答
1
投票

0
投票

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

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


0
投票

我也有同样的问题。 jvm 参数有效,但是当我尝试使用自定义 SocketFactory/SSLSocketFactory 的 Proxy 类时,它失败了。

你有找到克服的方法吗?

© www.soinside.com 2019 - 2024. All rights reserved.