我正在使用WebLogic Server:12.1.1.0,Spring 3.2.11.RELEASE和Camel 2.13.4。
我有以下配置:
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
<prop key="java.naming.provider.url">t3://localhost:7001</prop>
<prop key="java.naming.security.principal">username</prop>
<prop key="java.naming.security.credentials">the_password</prop>
</props>
</property>
</bean>
但是我在部署后得到了这条消息:
22-apr-2015 18.29.39 org.springframework.jms.listener.DefaultMessageListenerContainer refreshConnectionUntilSuccessful
GRAVE: Could not refresh JMS Connection for destination 'CamelTest' - retrying in 5000 ms. Cause: JndiObjectTargetSource failed to obtain new target object; nested exception is javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3://localhost:7001: Destination unreachable; nested exception is:
java.net.ConnectException: Connection refused; No available router to destination]
如何连接到JMS服务器?
答案 0 :(得分:2)
在spring-boot中,我正在配置这样的JMS
@Configuration
@EnableJms
public class JmsConfiguration implements JmsListenerConfigurer {
...
// register here your jms listners
@Override
public void configureJmsListeners{
...
}
}
然后在收到消息时随心所欲地做任何事情
@Override
@JmsListener(destination = "queue")
public void processQueue(ResponseType response){
//process message as you want
}
答案 1 :(得分:1)
解决方案实际上是在配置中使用服务器IP地址而不是localhost。