Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-2132

Multicast consumer via HTTP transport: AMQ212037 Connection failure has been detected

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Workaround
    • 2.6.2, 2.6.3
    • None
    • None
    • None

    Description

      Nabble forum reference: [Artemis 2.6.3] Multicast consumer via HTTP transport: AMQ212037 Connection failure has been detected

      I want to consume messages from a multicast address via HTTP transport. I tweaked the http-transport example (apache-artemis-2.6.3/examples/features/standard/http-transport) for my purpose. The code I'm working on is to be found on Github.

      The code produces 10 messages and a consumer receives these 10 messages. If I add a delay as in Thread.sleep() between each call to MessageConsumer.receive(), let's say 1 second, then I receive the following exceptions:

      Client Side
      java.lang.reflect.InvocationTargetException
          at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke (Method.java:498)
          at org.apache.activemq.artemis.maven.ArtemisClientPlugin.doExecute (ArtemisClientPlugin.java:61)
          at org.apache.activemq.artemis.maven.ArtemisAbstractPlugin.execute (ArtemisAbstractPlugin.java:74)
          at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:134)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
          at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
          at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
          at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51)
          at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
          at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
          at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
          at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
          at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
          at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
          at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
          at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke (Method.java:498)
          at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
          at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
          at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
          at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
      Caused by: javax.jms.IllegalStateException: AMQ119017: Consumer is closed
          at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.checkClosed (ClientConsumerImpl.java:952)
          at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.receive (ClientConsumerImpl.java:195)
          at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.receive (ClientConsumerImpl.java:379)
          at org.apache.activemq.artemis.jms.client.ActiveMQMessageConsumer.getMessage (ActiveMQMessageConsumer.java:212)
          at org.apache.activemq.artemis.jms.client.ActiveMQMessageConsumer.receive (ActiveMQMessageConsumer.java:128)
          at thokuest.HttpTransportTopicExample.main (HttpTransportTopicExample.java:79)
          at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke (Method.java:498)
          at org.apache.activemq.artemis.maven.ArtemisClientPlugin.doExecute (ArtemisClientPlugin.java:61)
          at org.apache.activemq.artemis.maven.ArtemisAbstractPlugin.execute (ArtemisAbstractPlugin.java:74)
          at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:134)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
          at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
          at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
          at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51)
          at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
          at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
          at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
          at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
          at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
          at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
          at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
          at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke (Method.java:498)
          at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
          at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
          at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
          at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
      Caused by: org.apache.activemq.artemis.api.core.ActiveMQObjectClosedException: AMQ119017: Consumer is closed
          at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.checkClosed (ClientConsumerImpl.java:952)
          at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.receive (ClientConsumerImpl.java:195)
          at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.receive (ClientConsumerImpl.java:379)
          at org.apache.activemq.artemis.jms.client.ActiveMQMessageConsumer.getMessage (ActiveMQMessageConsumer.java:212)
          at org.apache.activemq.artemis.jms.client.ActiveMQMessageConsumer.receive (ActiveMQMessageConsumer.java:128)
          at thokuest.HttpTransportTopicExample.main (HttpTransportTopicExample.java:79)
          at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke (Method.java:498)
          at org.apache.activemq.artemis.maven.ArtemisClientPlugin.doExecute (ArtemisClientPlugin.java:61)
          at org.apache.activemq.artemis.maven.ArtemisAbstractPlugin.execute (ArtemisAbstractPlugin.java:74)
          at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:134)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
          at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
          at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
          at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
          at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51)
          at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
          at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
          at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
          at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
          at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
          at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
          at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
          at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke (Method.java:498)
          at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
          at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
          at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
          at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
      
      Server Side
      server-out:2018-10-17 12:56:13,367 WARN  [org.apache.activemq.artemis.core.client] AMQ212037: Connection failure has been detected: io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpRequest cannot be cast to io.netty.buffer.ByteBuf [code=GENERIC_EXCEPTION]
      server-out:2018-10-17 12:56:13,367 WARN  [org.apache.activemq.artemis.core.server] AMQ222061: Client connection failed, clearing up resources for session 429aaede-d1fb-11e8-b57e-0a0027000011
      server-out:2018-10-17 12:56:13,367 WARN  [org.apache.activemq.artemis.core.server] AMQ222107: Cleared up resources for session 429aaede-d1fb-11e8-b57e-0a0027000011
      server-out:2018-10-17 12:56:13,367 WARN  [org.apache.activemq.artemis.core.server] AMQ222061: Client connection failed, clearing up resources for session 429c357f-d1fb-11e8-b57e-0a0027000011
      server-out:2018-10-17 12:56:13,377 WARN  [org.apache.activemq.artemis.core.server] AMQ222107: Cleared up resources for session 429c357f-d1fb-11e8-b57e-0a0027000011
      

      According to jbertram, this is caused by commit 775b1c78aa690872ef7775f97ccdea408ed3830c, ARTEMIS-1927. See Nabble forum reference for details.

      Workarounds

      1. Downgrade to Artemis 2.6.1
      2. Configure confirmationWindowSize to something greater than 0 in the ConnectionFactory URL

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              thokuest Thomas Küstermann
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: