Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
2.6.0
-
None
-
None
Description
Consider the reproducer in the attached PR. Previously, only topic autocreation was attempted in these integration tests. When queue is to be autocreated this way, the broker would still autocreate a topic, and so the new queue autocreation test fails.
It would seem that the broker is ignoring the "x-opt-jms-dest" message annotation, which qpid-jms correctly sets to 0x0 (a queue).
There is opportunity for one more test to be written. What would happen if I try to send a message intended to a topic on a message producer which is producing to a queue (of the same name). There should be some error thrown, I guess.
The error from testAnonymousProducerWithQueueAutoCreation is
[org.apache.commons.beanutils.converters.ArrayConverter] : No conversion required, value is already a java.net.URL[] [main] 11:08:21,877 INFO [org.apache.activemq.artemis.core.server] AMQ221000: live Message Broker is starting with configuration Broker Configuration (clustered=false,journalDirectory=/home/jdanek/Work/repos/activemq-artemis/tests/integration-tests/./target/tmp/junit2516012081350811450/journal0-L5672,bindingsDirectory=/home/jdanek/Work/repos/activemq-artemis/tests/integration-tests/./target/tmp/junit2516012081350811450/bindings0-L5672,largeMessagesDirectory=/home/jdanek/Work/repos/activemq-artemis/tests/integration-tests/./target/tmp/junit2516012081350811450/large-msg0-L,pagingDirectory=/home/jdanek/Work/repos/activemq-artemis/tests/integration-tests/./target/tmp/junit2516012081350811450/page0-L5672) [main] 11:08:21,945 INFO [org.apache.activemq.artemis.core.server] AMQ221013: Using NIO Journal SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/jdanek/.m2/repository/org/apache/karaf/org.apache.karaf.client/4.0.6/org.apache.karaf.client-4.0.6.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/jdanek/.m2/repository/org/ops4j/pax/logging/pax-logging-api/1.8.5/pax-logging-api-1.8.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/jdanek/.m2/repository/org/slf4j/slf4j-log4j12/1.7.21/slf4j-log4j12-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory] [main] 11:08:22,270 INFO [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-server]. Adding protocol support for: CORE [main] 11:08:22,271 INFO [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-amqp-protocol]. Adding protocol support for: AMQP [main] 11:08:22,271 INFO [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-stomp-protocol]. Adding protocol support for: STOMP [main] 11:08:22,272 INFO [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-openwire-protocol]. Adding protocol support for: OPENWIRE [main] 11:08:22,272 INFO [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-hornetq-protocol]. Adding protocol support for: HORNETQ [main] 11:08:22,273 INFO [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: [artemis-mqtt-protocol]. Adding protocol support for: MQTT [main] 11:08:22,425 INFO [org.apache.activemq.artemis.core.server] AMQ221034: Waiting indefinitely to obtain live lock [main] 11:08:22,425 INFO [org.apache.activemq.artemis.core.server] AMQ221035: Live Server Obtained live lock [org.apache.commons.beanutils.BeanUtils] : BeanUtils.populate(org.apache.activemq.artemis.protocol.amqp.broker.ProtonProtocolManager@38c5cc4c, {anycastPrefix=anycast://, multicastPrefix=multicast://}) [org.apache.commons.beanutils.ConvertUtils] : Convert string 'anycast://' to class 'java.lang.String' [org.apache.commons.beanutils.converters.StringConverter] : Converting 'String' value 'anycast://' to type 'String' [org.apache.commons.beanutils.ConvertUtils] : Convert string 'multicast://' to class 'java.lang.String' [org.apache.commons.beanutils.converters.StringConverter] : Converting 'String' value 'multicast://' to type 'String' [org.apache.commons.beanutils.BeanUtils] : BeanUtils.populate(org.apache.activemq.artemis.core.protocol.openwire.OpenWireProtocolManager@76508ed1, {anycastPrefix=anycast://, multicastPrefix=multicast://}) [org.apache.commons.beanutils.ConvertUtils] : Convert string 'anycast://' to class 'java.lang.String' [org.apache.commons.beanutils.converters.StringConverter] : Converting 'String' value 'anycast://' to type 'String' [org.apache.commons.beanutils.ConvertUtils] : Convert string 'multicast://' to class 'java.lang.String' [org.apache.commons.beanutils.converters.StringConverter] : Converting 'String' value 'multicast://' to type 'String' [main] 11:08:23,166 ERROR [org.apache.activemq.artemis.core.server] AMQ224000: Failure in initialisation: io.netty.channel.unix.Errors$NativeIoException: bind(..) failed: Address already in use at io.netty.channel.unix.Errors.newIOException(Errors.java:122) [netty-transport-native-unix-common-4.1.24.Final.jar:4.1.24.Final] at io.netty.channel.unix.Socket.bind(Socket.java:287) [netty-transport-native-unix-common-4.1.24.Final.jar:4.1.24.Final] at io.netty.channel.epoll.AbstractEpollChannel.doBind(AbstractEpollChannel.java:688) [netty-transport-native-epoll-4.1.24.Final-linux-x86_64.jar:4.1.24.Final] at io.netty.channel.epoll.EpollServerSocketChannel.doBind(EpollServerSocketChannel.java:70) [netty-transport-native-epoll-4.1.24.Final-linux-x86_64.jar:4.1.24.Final] at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:558) [netty-transport-4.1.24.Final.jar:4.1.24.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1358) [netty-transport-4.1.24.Final.jar:4.1.24.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:501) [netty-transport-4.1.24.Final.jar:4.1.24.Final] at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:486) [netty-transport-4.1.24.Final.jar:4.1.24.Final] at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:1019) [netty-transport-4.1.24.Final.jar:4.1.24.Final] at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:254) [netty-transport-4.1.24.Final.jar:4.1.24.Final] at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:366) [netty-transport-4.1.24.Final.jar:4.1.24.Final] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [netty-common-4.1.24.Final.jar:4.1.24.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) [netty-common-4.1.24.Final.jar:4.1.24.Final] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:309) [netty-transport-native-epoll-4.1.24.Final-linux-x86_64.jar:4.1.24.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) [netty-common-4.1.24.Final.jar:4.1.24.Final] at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [:] [main] 11:08:23,167 INFO [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis Message Broker version 2.6.0-SNAPSHOT [localhost, nodeID=da78638f-54fa-11e8-9211-228524672ac6] [main] 11:08:23,980 INFO [org.apache.activemq.artemis.core.server] AMQ221002: Apache ActiveMQ Artemis Message Broker version 2.6.0-SNAPSHOT [da78638f-54fa-11e8-9211-228524672ac6] stopped, uptime 2.141 seconds [main] 11:08:24,238 INFO [org.apache.activemq.artemis.core.server] **** end #test testAnonymousQueueProducerWithAutoCreation() *** javax.jms.JMSException: Address 979f219c-11a4-4f94-ab6c-f2a930825b64 is not configured for queue support [condition = amqp:illegal-state] at org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:164) at org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:117) at org.apache.qpid.jms.provider.amqp.builders.AmqpResourceBuilder.handleClosed(AmqpResourceBuilder.java:185) at org.apache.qpid.jms.provider.amqp.builders.AmqpResourceBuilder.processRemoteClose(AmqpResourceBuilder.java:129) at org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:995) at org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:105) at org.apache.qpid.jms.provider.amqp.AmqpProvider$17.run(AmqpProvider.java:854) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Process finished with exit code 255
Attachments
Issue Links
- duplicates
-
ARTEMIS-2910 consider routing type annotations during node auto-creation for AMQP anonymous producers
- Closed
- links to