You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Dominik Kawczyński (Jira)" <ji...@apache.org> on 2023/04/04 07:53:00 UTC

[jira] [Created] (ARTEMIS-4234) EmbeddedActiveMQResource is able to receive only forst message

Dominik Kawczyński created ARTEMIS-4234:
-------------------------------------------

             Summary: EmbeddedActiveMQResource is able to receive only forst message
                 Key: ARTEMIS-4234
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4234
             Project: ActiveMQ Artemis
          Issue Type: Bug
          Components: Broker
    Affects Versions: 2.28.0
            Reporter: Dominik Kawczyński


Hi,

i have encountered a problem with embedded Artemis.

Using *EmbeddedActiveMQResource* _receiveMessage_ method im able to receive only one message from queue.

Please look at following code:
{code:java}
artemis.start()
def firstMessage = 'test message 1'
sendMessage(firstMessage, 'test_queue')
def firstReceivedMessage = artemis.receiveMessage('test_queue', 1000)

println('>>>>>>>> FIRST MESSAGE:')
println('>>>>>>>>' + firstReceivedMessage.stringBody)

/*
will work if artemis is restarted during test
artemis.stop()
artemis.start()
*/

def secondMessage = 'test message 2'
sendMessage(secondMessage, 'test_queue')
def secondReceivedMessage = artemis.receiveMessage('test_queue', 1000)

println('>>>>>>>> SECOND MESSAGE:')
println('>>>>>>>>' + secondReceivedMessage.stringBody)


then:
firstMessage == firstReceivedMessage.stringBody
secondMessage == secondReceivedMessage.stringBody {code}
I'm getting null as secondReceivedMessage, and NPE in effect later.

 

The reason is (i assume) that first invocation  is creating a consumer, that is getting second message, before i invoke receiveMessage method second time (i see in logs that second message was consumed)

 

Is this expected behavior?

receiveMessage is returning only one message, so my assumption was, that i can invoke it several times to retrieve consequential messages, and i have not found any documentation explaining current behavior.

 

I have created repo with reproducible example:

[https://github.com/dmkaw/embedded-artemis-issue]

 

Thanks in advance.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)