activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARTEMIS-1859) Broker ignores the x-opt-jms-dest message annotation when autocreating destinations
Date Fri, 11 May 2018 15:34:00 GMT

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

ASF GitHub Bot commented on ARTEMIS-1859:
-----------------------------------------

Github user gemmellr commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/2084#discussion_r187650767
  
    --- Diff: tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSMessageProducerTest.java
---
    @@ -70,10 +70,31 @@ public void testAnonymousProducer() throws Exception {
        }
     
        @Test(timeout = 30000)
    -   public void testAnonymousProducerWithAutoCreation() throws Exception {
    -      Connection connection = createConnection();
    +   public void testAnonymousProducerWithQueueAutoCreation() throws Exception {
    +      try (Connection connection = createConnection()) {
    +         Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
    +         Queue queue = session.createQueue(UUID.randomUUID().toString());
    +         MessageProducer p = session.createProducer(null);
     
    -      try {
    +         TextMessage message = session.createTextMessage();
    +         message.setText("hello");
    +         // this will auto-create the address
    +         p.send(queue, message);
    --- End diff --
    
    Yeah, thats what I meant to say, the second send.


> 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)

Mime
View raw message