2012-02-16 46 views
1

Apache Qpid Java客户端API有一个AMQConnection类,用于建立与Qpid消息代理的连接。我正在使用单个字符串构造函数(AMQConnection(String connection))。我有一个实用程序方法,首先创建连接字符串,然后传递给AMQConnection构造函数。验证AMQConnection连接字符串而不连接?

连接字符串的格式为amqp://<username>:<password>@<clientID>/?brokerlist='tcp://<hostname>:<port>'

如果构造函数传递的连接字符串语法不正确,则会抛出URLSyntaxException

我想将连接字符串语法检查移到实用程序方法(我认为它不应该能够返回损坏的信息),但我还没有找到任何验证连接字符串的方法没有尝试建立到消息代理的连接。有没有办法做到这一点,或者我只需要依赖构造函数抛出的URLSyntaxException

回答

1

你只想检查URI的正确语法?如果是这样,只需创建URI类的一个实例:

new URI("amqp://user:[email protected]/?brokerlist='tcp://example.com:80'") 

这引发java.net.URISyntaxException时URI语法上不正确的。

如果您需要检查AMQ特定选项的URI,您可能会有两个查看AMQ源代码并找到验证/解析此类的类。