如何使用Java RabbitMQ并设置URI服务器?

oco*_*or0 2 java amqp rabbitmq

我正在使用RabbitMQ Java API连接到RabbitMQ服务器。我想用来ConnectionFactory.setUri(...)配置要使用的服务器。它似乎在破坏虚拟主机。

有一个名为的默认虚拟主机/。

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

import java.net.URI;

public class Worker {

    public static void main(String[] argv) throws Exception {

        ConnectionFactory factory = new ConnectionFactory();
        final URI uri = URI.create("amqp://guest:guest@localhost:5672/");
        factory.setUri(uri);
        final Connection connection = factory.newConnection();
        final Channel channel = connection.createChannel();
    }
}
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,配置的虚拟主机为空。似乎没有办法使用URI将虚拟主机配置为/。

有没有办法做到这一点?

oco*_*or0 5

我最终通过不使用setUri而是设置各个URI组件来解决了这个问题。


小智 5

您需要使用%2F对'/'进行URL编码