Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SwiftMQ URL解析器无法分析正确的URL_Java_Spring_Jms - Fatal编程技术网

Java SwiftMQ URL解析器无法分析正确的URL

Java SwiftMQ URL解析器无法分析正确的URL,java,spring,jms,Java,Spring,Jms,当我尝试发送消息时,我得到以下异常。URL看起来是正确的,我以前使用过类似的配置。我不知道是什么导致了这个问题 Caused by: javax.naming.NamingException: invalid URL: protocol != smqp, URL==smqp://activemq:3001/timeout=10000 at com.swiftmq.jndi.v400.URLParser.parseURL(Unknown Source) at com.swiftmq

当我尝试发送消息时,我得到以下异常。URL看起来是正确的,我以前使用过类似的配置。我不知道是什么导致了这个问题

Caused by: javax.naming.NamingException: invalid URL: protocol != smqp, URL==smqp://activemq:3001/timeout=10000
    at com.swiftmq.jndi.v400.URLParser.parseURL(Unknown Source)
    at com.swiftmq.jndi.InitialContextFactoryImpl.getInitialContext(Unknown Source)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
    at javax.naming.InitialContext.init(InitialContext.java:223)
    at javax.naming.InitialContext.<init>(InitialContext.java:197)
    at org.springframework.jndi.JndiTemplate.createInitialContext(JndiTemplate.java:136)
    at org.springframework.jndi.JndiTemplate.getContext(JndiTemplate.java:103)
    at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:85)
    at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152)
    at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)
    at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)
    at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)
    at org.springframework.jndi.JndiObjectTargetSource.getTarget(JndiObjectTargetSource.java:127)
    ... 50 more

“smqp://”前面是否有空白或任何其他不可见字符?在这种情况下,我会得到相同的异常,否则它对我有效


您应该将您的问题发布到SwiftMQ,以达到适当的受众。

URL中存在问题==smqp://activemq:3001 ... 它看起来像==运算符,但它是URL==smqp://...'
<!-- JMS Connection Factory -->
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
    <property name="environment">
        <props>
            <prop key="java.naming.provider.url">smqp://activemq:3001/timeout=10000</prop>
            <prop key="java.naming.factory.initial">com.swiftmq.jndi.InitialContextFactoryImpl</prop>
        </props>
    </property>
</bean>

<bean id="jmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate" ref="jndiTemplate" />
    <property name="jndiName" value="QueueConnectionFactory" />
    <property name="lookupOnStartup" value="false" />
    <property name="cache" value="false" />
    <property name="proxyInterface" value="javax.jms.QueueConnectionFactory" />
</bean>

<bean id="sendConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory" destroy-method="destroy">
    <property name="targetConnectionFactory" ref="jmsConnectionFactory" />
    <property name="reconnectOnException" value="true" />
    <property name="sessionCacheSize" value="100"/>
</bean>

<!-- Template used only for sending messages -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory" ref="sendConnectionFactory" />
    <property name="defaultDestinationName" value="request@z4smq_4001" />
</bean>
MessageCreator messageCreator = new MessageCreatorImpl(payload);
jmsTemplate.send(messageCreator); // setter injection