我正在使用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();
}
}使用上面的代码,配置的虚拟主机为空。似乎没有一种方法可以使用URI将虚拟主机配置为/。
有没有办法做到这一点?
发布于 2013-07-27 02:41:22
我最终解决了这个问题,不使用setUri,而是设置各个URI组件。
发布于 2015-06-11 03:56:13
您需要使用%2F对'/‘进行URL编码
发布于 2019-10-24 02:36:12
对于来自谷歌的人来说,使用/和url编码的/ (即%2f )的组合对我来说很管用。
ConnectionFactory factory = new ConnectionFactory();
factory.setUri("amqp://guest:guest@localhost:5672/%2F");https://stackoverflow.com/questions/17221874
复制相似问题