Thomas Küstermann created ARTEMIS-2132:
------------------------------------------
Summary: Multicast consumer via HTTP transport: AMQ212037
Connection failure has been detected
Key: ARTEMIS-2132
URL: https://issues.apache.org/jira/browse/ARTEMIS-2132
Project: ActiveMQ Artemis
Issue Type: Bug
Affects Versions: 2.6.3, 2.6.2
Environment: - {code:none|title=$ java -version}
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
{code}
- OS: Windows 7
Reporter: Thomas Küstermann
Nabble forum reference: [\[Artemis 2.6.3\] Multicast consumer via HTTP
transport: AMQ212037 Connection failure has been
detected|http://activemq.2283324.n4.nabble.com/Artemis-2-6-3-Multicast-consumer-via-HTTP-transport-AMQ212037-Connection-failure-has-been-detected-td4744416.html]
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|https://github.com/thokuest/activemq-artemis-http-transport-multicast].
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:
{code:none|title=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)
{code}
{code:none|title=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
{code}
According to [~jbertram], this is caused by commit
{{775b1c78aa690872ef7775f97ccdea408ed3830c}}, ARTEMIS-1927. See Nabble forum
reference for details.
h4. Workarounds
# Downgrade to Artemis 2.6.3
# Configure {{confirmationWindowSize}} to something greater than 0 in the
ConnectionFactory URL
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)