Skip to content

Commit

Permalink
Clarify ActiveMQ usage in JMS docs
Browse files Browse the repository at this point in the history
The Apache ActiveMQ project has adopted the label "Classic" for the 5.x
broker in order to more easily compare and contrast it with the broker
code-named Artemis.

See gh-37606
  • Loading branch information
mhalbritter committed Sep 28, 2023
1 parent 071a595 commit 8a5979e
Showing 1 changed file with 8 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ Spring Boot also auto-configures the necessary infrastructure to send and receiv


[[messaging.jms.activemq]]
=== ActiveMQ Support
When https://activemq.apache.org/[ActiveMQ] is available on the classpath, Spring Boot can also configure a `ConnectionFactory`.
=== ActiveMQ "Classic" Support
When https://activemq.apache.org/components/classic[ActiveMQ "Classic"] is available on the classpath, Spring Boot can also configure a `ConnectionFactory`.
If the broker is present, an embedded broker is automatically started and configured (provided no broker URL is specified through configuration and the embedded broker is not disabled in the configuration).

NOTE: If you use `spring-boot-starter-activemq`, the necessary dependencies to connect or embed an ActiveMQ instance are provided, as is the Spring infrastructure to integrate with JMS.
NOTE: If you use `spring-boot-starter-activemq`, the necessary dependencies to connect or embed an ActiveMQ "Classic" instance are provided, as is the Spring infrastructure to integrate with JMS.

ActiveMQ configuration is controlled by external configuration properties in `+spring.activemq.*+`.
ActiveMQ "Classic" configuration is controlled by external configuration properties in `+spring.activemq.*+`.

By default, ActiveMQ is auto-configured to use the https://activemq.apache.org/vm-transport-reference.html[VM transport], which starts a broker embedded in the same JVM instance.
By default, ActiveMQ "Classic" is auto-configured to use the https://activemq.apache.org/vm-transport-reference.html[VM transport], which starts a broker embedded in the same JVM instance.

You can disable the embedded broker by configuring the configprop:spring.activemq.in-memory[] property, as shown in the following example:

Expand All @@ -38,7 +38,7 @@ The embedded broker will also be disabled if you configure the broker URL, as sh
password: "secret"
----

If you want to take full control over the embedded broker, see https://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html[the ActiveMQ documentation] for further information.
If you want to take full control over the embedded broker, see https://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html[the ActiveMQ "Classic" documentation] for further information.

By default, a `CachingConnectionFactory` wraps the native `ConnectionFactory` with sensible settings that you can control by external configuration properties in `+spring.jms.*+`:

Expand All @@ -64,7 +64,7 @@ If you'd rather use native pooling, you can do so by adding a dependency to `org
TIP: See {spring-boot-autoconfigure-module-code}/jms/activemq/ActiveMQProperties.java[`ActiveMQProperties`] for more of the supported options.
You can also register an arbitrary number of beans that implement `ActiveMQConnectionFactoryCustomizer` for more advanced customizations.

By default, ActiveMQ creates a destination if it does not yet exist so that destinations are resolved against their provided names.
By default, ActiveMQ "Classic" creates a destination if it does not yet exist so that destinations are resolved against their provided names.



Expand Down Expand Up @@ -117,7 +117,7 @@ If you'd rather use native pooling, you can do so by adding a dependency to `org

See {spring-boot-autoconfigure-module-code}/jms/artemis/ArtemisProperties.java[`ArtemisProperties`] for more supported options.

No JNDI lookup is involved, and destinations are resolved against their names, using either the `name` attribute in the Artemis configuration or the names provided through configuration.
No JNDI lookup is involved, and destinations are resolved against their names, using either the `name` attribute in the ActiveMQ Artemis configuration or the names provided through configuration.



Expand Down

0 comments on commit 8a5979e

Please sign in to comment.