如何解决我可以使用我的电子邮件地址作为RabbitMQ用户名吗?
当前,我正在开发一个基于Spring Boot的网站,该网站需要与RabbitMQ集成。
我只想知道是否可以将我的电子邮件地址用作RabbitMQ帐户的用户名。
由于电子邮件地址的String中间有点(。)和at(@),所以我认为这是不合适的,但是必须实现。
那么,有没有办法使用电子邮件地址作为RabbitMQ帐户的用户名?
只需此即可在CachingConnectionFactory.setUri函数上工作。
当前代码如下。
@Bean
public CachingConnectionFactory rabbitConnectionFactory(RabbitProperties config)
throws Exception {
CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
connectionFactory.getRabbitConnectionFactory().setUri("amqp://test@email.com:testing@name.of.host/virtual");
return connectionFactory;
}
解决方法
请参阅RabbitMQ URI Specification,其中RFC 3986指向{{3}}。前者要求uri的用户名字段为; *( unreserved / pct-encoded / sub-delims )
,在后者中定义。
在RFC中,我们看到保留字符包括@
符号;
reserved = gen-delims / sub-delims gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@" sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
因此,您需要使用这些保留字符的pct-encoded
形式。例如,@
符号将变成%40
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。