Uploaded image for project: 'Spring AMQP'
  1. Spring AMQP
  2. AMQP-164

Exchange parsers do not handle anonymous queues correctly

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Complete
    • Affects Version/s: 1.0.0 GA
    • Fix Version/s: 1.0.0.RC2
    • Component/s: RabbitMQ, Samples
    • Labels:
      None

      Description

      The problem manifests itself as a test failure in the stocks sample because there is no integration test for the binding parsers in spring-rabbit. Test set: org.springframework.amqp.rabbit.stocks.web.ServletConfigurationTests

      Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 3.521 sec <<< FAILURE!
      testContext(org.springframework.amqp.rabbit.stocks.web.ServletConfigurationTests)  Time elapsed: 3.449 sec  <<< ERROR!
      org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.amqp.rabbit.core.RabbitAdmin#0': Invocation of init method failed; nested exception is org.springframework.amqp.AmqpIOException: java.io.IOException
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
      	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
      	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
      	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
      	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
      	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
      	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
      	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
      	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:105)
      	at org.springframework.amqp.rabbit.stocks.web.ServletConfigurationTests.testContext(ServletConfigurationTests.java:32)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
      	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
      	at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
      	at $Proxy0.invoke(Unknown Source)
      	at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
      	at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
      	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
      Caused by: org.springframework.amqp.AmqpIOException: java.io.IOException
      	at org.springframework.amqp.rabbit.connection.RabbitUtils.convertRabbitAccessException(RabbitUtils.java:117)
      	at org.springframework.amqp.rabbit.connection.RabbitAccessor.convertRabbitAccessException(RabbitAccessor.java:106)
      	at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:314)
      	at org.springframework.amqp.rabbit.core.RabbitAdmin.initialize(RabbitAdmin.java:298)
      	at org.springframework.amqp.rabbit.core.RabbitAdmin$10.onCreate(RabbitAdmin.java:232)
      	at org.springframework.amqp.rabbit.connection.SingleConnectionFactory.addConnectionListener(SingleConnectionFactory.java:143)
      	at org.springframework.amqp.rabbit.core.RabbitAdmin.afterPropertiesSet(RabbitAdmin.java:215)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
      	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
      	... 40 more
      Caused by: java.io.IOException
      	at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:107)
      	at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:131)
      	at com.rabbitmq.client.impl.ChannelN.exchangeBind(ChannelN.java:577)
      	at com.rabbitmq.client.impl.ChannelN.exchangeBind(ChannelN.java:59)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.springframework.amqp.rabbit.connection.CachingConnectionFactory$CachedChannelInvocationHandler.invoke(CachingConnectionFactory.java:239)
      	at $Proxy12.exchangeBind(Unknown Source)
      	at org.springframework.amqp.rabbit.core.RabbitAdmin.declareBindings(RabbitAdmin.java:347)
      	at org.springframework.amqp.rabbit.core.RabbitAdmin.access$200(RabbitAdmin.java:45)
      	at org.springframework.amqp.rabbit.core.RabbitAdmin$11.doInRabbit(RabbitAdmin.java:302)
      	at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:309)
      	... 46 more
      Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; reason: {#method<channel.close>(reply-code=404,reply-text=NOT_FOUND - no exchange 'tradeQueue' in vhost '/',class-id=40,method-id=30),null,""}
      	at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:67)
      	at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:33)
      	at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:328)
      	at com.rabbitmq.client.impl.AMQChannel.rpc(AMQChannel.java:201)
      	at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:125)
      	... 58 more
      Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; reason: {#method<channel.close>(reply-code=404,reply-text=NOT_FOUND - no exchange 'tradeQueue' in vhost '/',class-id=40,method-id=30),null,""}
      	at com.rabbitmq.client.impl.ChannelN.asyncShutdown(ChannelN.java:365)
      	at com.rabbitmq.client.impl.ChannelN.processAsync(ChannelN.java:235)
      	at com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:151)
      	at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:96)
      	at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:446)
      

        Attachments

          Activity

            People

            Assignee:
            david_syer Dave Syer
            Reporter:
            masri Masri Masrawi
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 0.5h
                0.5h
                Remaining:
                Remaining Estimate - 0.5h
                0.5h
                Logged:
                Time Spent - Not Specified
                Not Specified