Qpid соединение отказано
Я использую 0.32 Qpid JMS-клиента в моем приложении для весенней загрузки. Ниже приведены файлы конфигурации и свойств:
JmsConfiguration.java
@Configuration
public class JmsConfiguration
{
@Primary
@Bean
public Context createContext()
{
Properties properties=new Properties();
System.setProperty("IMMEDIATE_PREFETCH", "true");
Context context=null;
try {
properties.load(this.getClass().getResourceAsStream("jndi.properties"));
context = new InitialContext(properties);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return context;
}
@Primary
@Bean
public ConnectionFactory createConnectionFactory(Context context)
{
ConnectionFactory connectionFactory=null;
try {
connectionFactory = (ConnectionFactory) context.lookup("qpidConnectionFactory");
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connectionFactory;
}
@Primary
@Bean
public Connection jmsConnection(ConnectionFactory connectionFactory) throws Exception
{
Connection connection = connectionFactory.createConnection();
connection.start();
return connection;
}
@Primary
@Bean
public Queue jmsQueue(Context context) throws Exception
{
Queue queue = (Queue) context.lookup("myqueue");
return queue;
}
}
jndi.properties
java.naming.factory.initial = org.apache.qpid.jndi.PropertiesFileInitialContextFactory
connectionfactory.qpidConnectionFactory = amqp://guest:guest@clientid/?brokerlist='tcp://localhost:5672'
queue.myqueue = queue
Теперь, когда я пытаюсь запустить свое приложение, оно выдает следующую ошибку:
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private javax.jms.Connection apigeeAlps.CustomBatchJobs.CustomItemReader.connection; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jmsConnection' defined in class path resource [apigeeAlps/Configuration/JmsConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.jms.Connection]: Factory method 'jmsConnection' threw exception; nested exception is javax.jms.JMSException: Error creating connection: Connection refused
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
... 74 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jmsConnection' defined in class path resource [apigeeAlps/Configuration/JmsConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.jms.Connection]: Factory method 'jmsConnection' threw exception; nested exception is javax.jms.JMSException: Error creating connection: Connection refused
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
... 76 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.jms.Connection]: Factory method 'jmsConnection' threw exception; nested exception is javax.jms.JMSException: Error creating connection: Connection refused
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
... 88 common frames omitted
Caused by: javax.jms.JMSException: Error creating connection: Connection refused
at org.apache.qpid.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:128) ~[qpid-client-0.32.jar:0.32]
at apigeeAlps.Configuration.JmsConfiguration.jmsConnection(JmsConfiguration.java:59) ~[classes/:na]
at apigeeAlps.Configuration.JmsConfiguration$$EnhancerBySpringCGLIB$$4acb09f.CGLIB$jmsConnection$2(<generated>) ~[classes/:na]
at apigeeAlps.Configuration.JmsConfiguration$$EnhancerBySpringCGLIB$$4acb09f$$FastClassBySpringCGLIB$$92347ea9.invoke(<generated>) ~[classes/:na]
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:355) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at apigeeAlps.Configuration.JmsConfiguration$$EnhancerBySpringCGLIB$$4acb09f.jmsConnection(<generated>) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_65]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_65]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
... 89 common frames omitted
Caused by: org.apache.qpid.AMQConnectionFailureException: Connection refused
at org.apache.qpid.client.AMQConnection.<init>(AMQConnection.java:520) ~[qpid-client-0.32.jar:0.32]
at org.apache.qpid.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:124) ~[qpid-client-0.32.jar:0.32]
... 100 common frames omitted
Caused by: org.apache.qpid.transport.TransportException: Error connecting to broker
at org.apache.qpid.transport.network.io.IoNetworkTransport.connect(IoNetworkTransport.java:91) ~[qpid-common-0.32.jar:0.32]
at org.apache.qpid.transport.Connection.connect(Connection.java:244) ~[qpid-common-0.32.jar:0.32]
at org.apache.qpid.client.AMQConnectionDelegate_0_10.makeBrokerConnection(AMQConnectionDelegate_0_10.java:222) ~[qpid-client-0.32.jar:0.32]
at org.apache.qpid.client.AMQConnection.makeBrokerConnection(AMQConnection.java:664) ~[qpid-client-0.32.jar:0.32]
at org.apache.qpid.client.AMQConnection.<init>(AMQConnection.java:444) ~[qpid-client-0.32.jar:0.32]
... 101 common frames omitted
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_65]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_65]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_65]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_65]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_65]
at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_65]
at org.apache.qpid.transport.network.io.IoNetworkTransport.connect(IoNetworkTransport.java:87) ~[qpid-common-0.32.jar:0.32]
... 105 common frames omitted
Странно то, что я разработал это приложение две недели назад, и оно работало без сбоев, и сегодня, после стольких недель, я выключал свой Mac, обычно я кладу его в спящий режим, и теперь, когда я пытаюсь запустить это приложение, он показывает эту ошибку. Я действительно не знаю, является ли это причиной или чем, но я никогда не сталкивался с такой ошибкой раньше.