If the broker is present, an embedded broker is automatically started and configured (provided no broker URL is specified through configuration).

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-activemq

wait where does this broker listen 0.0.0.0:9876? is it secure by default (password protected)? I'd guess it doesn't use any form of TLS, but can it?

Also, I had to grind through the docs, but spring.activemq.broker-url the relaxed env vars docs mentions map keys... with a -, but I don't think this is a map key, might be nice to include the env var next to it, I think it's SPRING_ACTIVEMQ_BROKERURL based on the docs.

... doing more research and code dives... does the activemq broker actually support over network brokerage? or is it in memory only? the actual default network url is tcp://0.0.0.0:61616 but when I use that it blows up with connection refused...

Comment From: philwebb

The auto-configuration does little more than set the broker URL to vm://localhost?broker.persistent=false. Adding a small call-out in the documentation along with references to the "VM Transport Reference" and "How do I embed a Broker inside a Connection" could be useful.

wait where does this broker listen 0.0.0.0:9876? is it secure by default (password protected)? I'd guess it doesn't use any form of TLS, but can it? ... the actual default network url is tcp://0.0.0.0:61616 ...

These are all questions you'd have to ask the ActiveMQ team.

I had to grind through the docs, but spring.activemq.broker-url the relaxed env vars docs mentions map keys... with a -...

The correct name for an environment variable is SPRING_ACTIVEMQ_BROKERURL. This follows the standard naming rules that are already documented.

Comment From: xenoterracide

I'm guessing what I learned today is that activemq (this impl? activemq is part of artemis?) by itself is in vm only... (or can just this do mqtt and the like without artemis, if so I wonder what the benefit of artemis embedded is?)? 61616 is the default port of artemis (and the default setting for the broker-url if in-memory is false). If this is true (haven't read your links; yet) perhaps this should be documented as well somewhere... I'm thinking some of this could be cleared up with a little verbage. I think I'd like to say I found broker-url also confusing (and kind of wonder why it doesn't just have a default value instead of conditionals), although it said it, the wording was a little rough on whether it was a listener configuration, or client configuration (it's the latter it seems)

P.S. Thanks for not closing ;)

Comment From: xenoterracide

spring-guides/getting-started-guides/issues/76 related

Comment From: xenoterracide

A JMS equivalent doesn't really make sense as there's no universal protocol and neither Spring Boot nor Spring Framework provides a JMS broker. As such, you need to use the JMS client that's appropriate for the JMS broker that you are connecting to and that can communicate using the broker's proprietary protocol.

part of @snicoll s response would be nice to word this into the reference documentation as I spent too much time tryin to figure out how to use spring boot as the broker.

Comment From: simionAndrei

@philwebb Can I take this issue if it is still of interest?

Comment From: flyalico

@philwebb ?

Comment From: SeifMostafa

Hello, Any help?

Comment From: amit-github-personal

@philwebb , Can I work on this issue?

Comment From: phxql

Hi, i've improved the ActiveMQ documentation, see this PR: https://github.com/spring-projects/spring-boot/pull/28183

Comment From: wilkinsona

Thanks very much, @phxql. I'll close this issue in favour of your pull request.