【发布时间】:2020-01-07 05:51:17
【问题描述】:
我们有一些使用 TCP 协议连接到 JMS 的现有源代码。我们在属性文件中提供如下所示的 EMS URL:
tib.ems.url=tcp://UK_ONES_DEV_0000.ldn.mywork.com:9222
现在我们的 EMS URL 已更改为 SSL,但是当我们在属性文件中对 ems URL 进行任何更改时,它会自动将 SSL 更改为 TCP,并且连接失败。我想知道我们是否需要对 SSL 连接进行任何更改。
<bean id="orcaReplayConnectionFactory"
class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
<property name="targetConnectionFactory" ref="orcaProviderReplayConnectionFactory"/>
<property name="username" value="${jms.orca.username}"/>
<property name="password" value="${jms.orca.password}"/>
</bean>
<jee:jndi-lookup id="orcaProviderReplayConnectionFactory"
jndi-name="${jndi.orca.name.replay}">
<jee:environment>
java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory
java.naming.provider.url=${jndi.orca.url}
java.naming.factory.url.pkgs=com.tibco.tibjms.naming
</jee:environment>
</jee:jndi-lookup>
15:43:12.923 [main] 信息 o.s.s.c.ThreadPoolTaskScheduler - 初始化 ExecutorService 'taskScheduler' 15:43:13.528 [main] WARN o.s.c.s.ClassPathXmlApplicationContext - 上下文初始化期间遇到异常 - 取消刷新尝试 org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.jms.listener.DefaultMessageListenerContainer#0”的bean时出错:设置bean属性“connectionFactory”时无法解析对bean“orcaConnectionFactory_v2”的引用;嵌套异常是 org.springframework.beans.factory.BeanCreationException:在类路径资源 [spring/integration-context.xml] 中定义名称为“orcaConnectionFactory_v2”的 bean 创建时出错:在设置 bean 属性“targetConnectionFactory”时无法解析对 bean“orcaProviderConnectionFactory_v2”的引用';嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“orcaProviderConnectionFactory_v2”的 bean 时出错:调用 init 方法失败;嵌套异常是 javax.naming.ServiceUnavailableException: 无法查询 JNDI: 无法连接到服务器 tcp://UK_ONES_UAT_0000.ldn.mywork.com:9222 [根异常是 javax.jms.JMSException: 无法连接到服务器在 tcp://UK_ONES_UAT_0000.ldn.mywork.com:9222]
【问题讨论】:
-
" 我想知道我们是否需要对 SSL 连接进行任何更改。" 是的,从 TCP 切换到 TLS 不仅仅是更改一些 URL。您通常必须围绕证书和验证进行配置。
标签: spring ssl jms spring-jms jms-topic