Java URL传输验证程序ActiveMQ

Java URL传输验证程序ActiveMQ,java,validation,jms,activemq,Java,Validation,Jms,Activemq,我对Uri有一个小问题。我不知道如何验证包含以下内容的Uri:故障转移、静态、vm、代理、扇出,当然我可以使用org.apache.commons.validator包中的URLValidator验证包含tcp、udp、ssl的Uri。我正在查看ActiveMQ文档,但找不到解决此问题的方法。 我必须先检查Uri,然后才能连接到ActiveMQ。 下面是一个例子: String url = "failover:(tcp://localhost:61616,tcp://remotehost:616

我对Uri有一个小问题。我不知道如何验证包含以下内容的Uri:故障转移、静态、vm、代理、扇出,当然我可以使用org.apache.commons.validator包中的URLValidator验证包含tcp、udp、ssl的Uri。我正在查看ActiveMQ文档,但找不到解决此问题的方法。 我必须先检查Uri,然后才能连接到ActiveMQ。 下面是一个例子:

String url = "failover:(tcp://localhost:61616,tcp://remotehost:61616)?initialReconnectDelay=100";
UrlValidator urlValidator = new UrlValidator(UrlValidator.ALLOW_ALL_SCHEMES);
urlValidator.isValid(url); 
ActiveMQConnectionFactory activemg = new ActiveMQConnectionFactory();
activemg.setBrokerURL(url);
activemg.createConnection();
我想在设置RokerURL之前检查Url。Uri没有问题:
tcp://localhost:61616?transport.trace=false&transport.soTimeout=60000
,但是urlValidator太严格了,不接受如下所示的Uri:
故障转移:(tcp://localhost:61616,tcp://remotehost:61616)?初始重新连接延迟=100
扇出:(静态:(tcp://localhost:61616,tcp://remotehost:61616))?初始重新连接延迟=100

也许你知道答案

没有这样的工具来验证各种代理URI选项和传输选择。你得自己写点东西。也许您可以通过消化activemq.xsd并查看允许哪些选项及其关联类型来创建一些内容

这个“问题”不是很清楚。需要更多关于问题的解释和您尝试过的方法的信息等等。您是对的,它不存在这样的工具或功能;)如果someobody也有同样的问题,那么可以使用apache.activemq.util包中的URI支持。这个类包含CompositeDataUri类,它可以分离代理Uri选项、传输选择和参数。