[ 
https://issues.apache.org/jira/browse/ARTEMIS-1859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16472042#comment-16472042
 ] 

Robbie Gemmell commented on ARTEMIS-1859:
-----------------------------------------

{quote}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.
{quote}
If you mean using the JMS client, that would fail at the client as you cant do 
that in JMS.

> Broker ignores the x-opt-jms-dest message annotation when autocreating 
> destinations
> -----------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-1859
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1859
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: AMQP
>    Affects Versions: 2.5.1
>            Reporter: Jiri Daněk
>            Priority: Major
>
> 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.
> CC [~gemmellr], [~tabish121]
> The error from {{testAnonymousProducerWithQueueAutoCreation}} is
> {noformat}
> [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
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to