Nobody really wants to use jms, but if you have no choice or you're not like us you may find this useful.
Consuming, returning a never-ending cancellable program that can concurrently consume from a queue
Publishing, returning a program which can publish messages
Consuming and Publishing within the same local transaction
You're asking the wrong question.
But yes, this is currenlty used to process millions of messages per day in large scale production systems.
To use jms4s in an existing SBT project with Scala 2.12 or a later version, add the following dependencies to your
build.sbt
depending on your provider:
libraryDependencies ++= Seq(
"dev.fpinbo" %% "jms4s-active-mq-artemis" % "<version>", // if your provider is activemq-artemis
"dev.fpinbo" %% "jms4s-ibm-mq" % "<version>" // if your provider is ibmmq
)
docker-compose up -d
sbt test
docker run \
-v $PWD:/$PWD \
-v ~/.sbt:/root/.sbt \
-v ~/.ivy2:/root/.ivy2 \
-v ~/.m2:/root/.m2 \
-v ~/.coursier:/root/.coursier \
-w /$PWD \
-it k3vin/sbt-java8-jekyll \
sbt site/clean site/makeMicrosite
docker run \
-v $PWD:/$PWD \
-w /$PWD/site/target/site \
-p 4000:4000 \
-it k3vin/sbt-java8-jekyll \
jekyll serve -b /jms4s --host 0.0.0.0