骆驼新用户在这里。
我有一个 Spring Boot / Camel 应用程序并成功获得了一个路由,该路由轮询 REST 端点,将 JSON 数组拆分为自定义 POJOS,将每个数组转换为我们的 Protobuf 之一,然后将 protobuf 写入我们的 RabbitMQ。
到现在为止还挺好。
然而,我花了相当多的工作来调试并让最后一步正常工作(写到总线上)。基本上,我永远无法使用 ConnectionFactory 建立与总线的连接,而是最终通过仅使用DSL 中的 .to() 语句将整个连接/写入到总线来弄清楚如何做到这一点。
所以我真的很想知道我在 ConnectionFactory 上做错了什么。任何帮助将非常感激!
好的,这就是有效的:
(为清楚起见添加了换行符)
.to(“rabbitmq://hostname:5672/exchange?
username=user&
password=password&
vhost=sandbox&
exchangeType=topic&
routingKey=routingkey&
durable=false&
autoDelete=false”);
实际上,我在这里有一个快速的问题:在连接没有被池化并且每次写入都建立连接的意义上,执行上述操作是否浪费?
好的,这是没有用的,一直给我一个java.net.ConnectException: Connection refused
错误:
RabbitMQEndpoint endpoint = new RabbitMQEndpoint();
endpoint.setHostname(“hostname”);
endpoint.setVhost(“sandbox”);
endpoint.setUsername(“user”);
endpoint.setPassword(“password”);
endpoint.setPortNumber(5672);
endpoint.setRoutingKey(“routingkey”);
endpoint.setExchangeName(“exchange”);
endpoint.setExchangeType(“topic”);
endpoint.setDurable(false);
endpoint.setAutoDelete(false);
Connection connectionFactory = new RabbitMQConnectionFactorySupport().createFactoryFor(endpoint);
那我错过了什么??
对于它的价值,如果上述连接有效,我将使用以下 .to() 语句编写总线。它看起来正确吗?特别是,我可以在“rabbitmq:”之后指定任何内容来代替“bogusbus”吗?
.to(“rabbitmq:bogusbus?exchangeType=topic&exchangeName=exchange&routingKey=routingkey”);
非常感谢你的帮助!