Details
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:
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-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
- Downgrade to Artemis 2.6.1
- Configure confirmationWindowSize to something greater than 0 in the ConnectionFactory URL
Attachments
Issue Links
- is caused by
-
ARTEMIS-1927 Server is not disconnecting clients on connection reset by peer
- Closed