Code Monkey home page Code Monkey logo

amqdurtopic's Introduction

AMQ Durable Topic Testcase

This repo holds a testcase environment for durable topics resending messages with activemq 5.16.x

Expected behaviour

Once the server is started mvn clean package tomee:run there is message creator URI http://localhost:8080/amqtest/fw/topic/test?msg=helloworld which will create a durable message in the topic test which contains helloworld The reader uri http://localhost:8080/amqtest/ReadTopic?id=test&subid=blah1234 creates a durable subscription with id blah1234 and waits for 5 seconds for the next message and returns with OK when there is no new message. Once a message is received it will return immediatly with the message contents helloworld in this case. Repeated messages can be put on the topic, once the durable subscriber is created it will retrieve those messages 1 by 1. This is what is observed with Tomee 8.0.4 Plus, which contains ActiveMQ 5.15.12

Problematic behaviour

When a newer version of Tomee with ActiveMQ 5.16.x is used the behaviour changes, this can be observed by starting the server with mvn clean package tomee:run -Dtomee.version=8.0.5 Now when a message is publised on the durable topic, the reader URI will get the message ( maximumRedeliveries + 1 ) times, the default setting is 6 +1 is 7 times This can be observed by repeatedly getting the reader URI http://localhost:8080/amqtest/ReadTopic?id=test&subid=blah1234 and seeing the same messages, only after the 7th time it will wait and return OK

Running the testcase

Expected behaviour server

mvn clean package tomee:run

Problematic behaviour server

mvn clean package tomee:run -Dtomee.version=8.0.5

Curl Commands

putting a message on the topic

curl http://localhost:8080/amqtest/fw/topic/test?msg=helloworld

Fetching the message

curl "http://localhost:8080/amqtest/ReadTopic?id=test&subid=blah1234"

amqdurtopic's People

Contributors

semanticfire avatar jgallimore avatar

Watchers

James Cloos avatar  avatar

Forkers

jgallimore

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.