Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/_includes/nav.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<div class="row">
<div class="col-12">
<ul class="multi-column-dropdown">
<li class="nav-item"><a class="dropdown-item" href="{{site.baseurl}}/components/classic">ActiveMQ Classic</a></li>
<li class="nav-item"><a class="dropdown-item" href="{{site.baseurl}}/components/classic">ActiveMQ</a></li>
<li class="nav-item"><a class="dropdown-item" href="{{site.baseurl}}/components/artemis/">ActiveMQ Artemis</a></li>
<li class="nav-item"><a class="dropdown-item" href="{{site.baseurl}}/components/artemis-console/">ActiveMQ Artemis Console</a></li>
<li class="nav-item"><a class="dropdown-item" href="{{site.baseurl}}/components/nms">NMS Clients</a></li>
Expand Down
28 changes: 11 additions & 17 deletions src/components/classic/documentation/jms2.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
---
layout: default_md
title: ActiveMQ Classic Jakarta Messaging 3.1 &amp; JMS 2.0 Support
title: ActiveMQ Jakarta Messaging 3.1 &amp; JMS 2.0 Support
title-class: page-title-classic
type: classic
---

**ActiveMQ Classic 5.x & 6.x support for Jakarta Messaging 3.1 & JMS 2.0 is in progress**. This work commenced in late 2019 via [AMQ-7309](https://issues.apache.org/jira/browse/AMQ-7309).

If you need full support for Jakarta Messaging 3.1 or JMS 2.0 we recommend [ActiveMQ Artemis]({{site.baseurl}}/components/artemis).

### Transition Approach

Initially, ActiveMQ Classic clients will not support all JMS 2.0 functionality and will throw an `UnsupportedOperationException` (`RuntimeException`) for unsupported methods and features, such as those for async send with a `CompletionListener`, sending messages with a delivery delay, and using shared topic consumers.
Initially, ActiveMQ clients will not support all JMS 2.0 functionality and will throw an `UnsupportedOperationException` (`RuntimeException`) for unsupported methods and features, such as those for async send with a `CompletionListener`, sending messages with a delivery delay, and using shared topic consumers.

As features are implemented in subsequent releases, these exceptions will be replaced with fully functional methods, examples and unit tests. See later/below for more details on implementation progress.

Expand All @@ -23,7 +19,7 @@ Support for JMS 2.0 also enables building upon this for transition to Jakarta Me
* Required for Spring 6
* Required for Jakarta EE 9 + 10.
* JMS API Java package name-change only
* ActiveMQ Classic package names do not change
* ActiveMQ package names do not change

This allows for a dependency-update-only approach to the transition without having to re-code going forward!

Expand All @@ -45,15 +41,15 @@ import jakarta.jms.ConnectionFactory
import jakarta.jms.Message
import jakarta.jms...
```
To use the Jakarta transition client available with ActiveMQ Classic 5.18.x in Maven:
To use the Jakarta transition client available with ActiveMQ 5.18.x in Maven:
```xml
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-client-jakarta</artifactId>
<version>${activemq.version}</version>
</dependency>
```
Note: With ActiveMQ Classic 6.x the `activemq-client-jakarta` module is removed as it is no longer needed.
Note: With ActiveMQ 6.x the `activemq-client-jakarta` module is removed as it is no longer needed.

### Spring bean usage

Expand All @@ -69,21 +65,19 @@ User feedback is welcome! Please comment on the JIRAs with questions and comment

JIRA|Status|Target Version|Completed Version|Feature|Notes
---|:---:|---|---|---|---
[AMQ-7309](https://issues.apache.org/jira/browse/AMQ-7309) | ✅ | 5.16.0 | 5.18.0 | JMS 2.0 API dependency | ActiveMQ Classic will ship with a JMS 2.0 dependency jar
[AMQ-7309](https://issues.apache.org/jira/browse/AMQ-7309) | ✅ | 5.16.0 | 5.18.0 | JMS 2.0 API dependency | ActiveMQ will ship with a JMS 2.0 dependency jar
[AMQ-8322](https://issues.apache.org/jira/browse/AMQ-8322) | ✅ | 5.17.0 | 5.18.0 | `JMSContext`, `JMSConsumer`, `JMSProducer`, &amp; `JMSRuntimeException` | Simplified JMS API support
[AMQ-8321](https://issues.apache.org/jira/browse/AMQ-8321) | ✅ | 5.18.0 | 5.18.0 | GetBody/isBodyAssignable | Support for checking body type using a `Class<?>`
[AMQ-8325](https://issues.apache.org/jira/browse/AMQ-8325) | ✅ | 5.18.3, 6.0.0 | 5.18.3, 6.0.0 | XA Connection methods | Updated methods when using XA transactions
[AMQ-8494](https://issues.apache.org/jira/browse/AMQ-8494) | ✅ | 5.17.1 | 5.18.0 | Implement `CLIENT_ACKNOWLEDGEMENT` mode | Client ack requires special handling w/ the simplified JMSContext API
[AMQ-8464](https://issues.apache.org/jira/browse/AMQ-8464) | ❌ | 5.17.1 | | JMSConsumer | `.receiveBody(Class<T>)` methods
[AMQ-8320](https://issues.apache.org/jira/browse/AMQ-8320) | ❌ | 6.2.0 | | Delivery Delay | Support for Message DeliveryDelay feature
[AMQ-8324](https://issues.apache.org/jira/browse/AMQ-8324) | ❌ | 5.17.0 | | JMSProducer features | `CompletionListener` async send support
[AMQ-8464](https://issues.apache.org/jira/browse/AMQ-8464) | ❌ | 6.4.0 | | JMSConsumer | `.receiveBody(Class<T>)` methods
[AMQ-8320](https://issues.apache.org/jira/browse/AMQ-8320) | ❌ | 6.3.0 | | Delivery Delay | Support for Message DeliveryDelay feature
[AMQ-8324](https://issues.apache.org/jira/browse/AMQ-8324) | ❌ | 6.4.0 | | JMSProducer features | `CompletionListener` async send support
[AMQ-8323](https://issues.apache.org/jira/browse/AMQ-8323) | ❌ | | | Shared Topic Consumer | Multi-consumer (queue-like) consuming from topic subscriptions
[AMQ-9451](https://issues.apache.org/jira/browse/AMQ-9451) | ❌ | 6.2.0 | | Pooled `ConnectionFactory` | Support for JMSContext in activemq-jms-pool
[AMQ-9451](https://issues.apache.org/jira/browse/AMQ-9451) | ❌ | 6.5.0 | | Pooled `ConnectionFactory` | Support for JMSContext in activemq-jms-pool

### Feature notes

JMS Object|Feature|Notes
---|---|---
`JMSProducer` | disableMessageID | ActiveMQ Classic does not support the optional feature of disabling JMS message ID


`JMSProducer` | disableMessageID | ActiveMQ does not support the optional and rarely used JMS Specification feature to disable JMS message ID
2 changes: 1 addition & 1 deletion src/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ If you want to get your hands on the code here are the repos for all our compone

|Component|Apache Git Repository|GitHub Mirror|
|---|---|
|Classic|[activemq](https://gitbox.apache.org/repos/asf/activemq.git)|[activemq](https://github.com/apache/activemq)|
|ActiveMQ|[activemq](https://gitbox.apache.org/repos/asf/activemq.git)|[activemq](https://github.com/apache/activemq)|
|Artemis|[activemq-artemis](https://gitbox.apache.org/repos/asf/activemq-artemis.git)|[activemq-artemis](https://github.com/apache/activemq-artemis)|
|Artemis Examples|[activemq-artemis-examples](https://gitbox.apache.org/repos/asf/activemq-artemis-examples.git)|[activemq-artemis-examples](https://github.com/apache/activemq-artemis-examples)|
|Artemis Native|[activemq-artemis-native](https://gitbox.apache.org/repos/asf/activemq-artemis-native.git)|[activemq-artemis-native](https://github.com/apache/activemq-artemis-native)|
Expand Down
2 changes: 1 addition & 1 deletion src/download.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ type: main

Select the component you wish you download to view its current or previous release downloads:

[ActiveMQ Classic](components/classic/download)
[ActiveMQ](components/classic/download)

[ActiveMQ Artemis](components/artemis/download)

Expand Down
4 changes: 2 additions & 2 deletions src/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
<div class="col-lg-6 col-md-auto">
<div class="card card-pink">
<div class="card-body">
<h4 class="card-title text-pink">ActiveMQ Classic</h4>
<h4 class="card-title text-pink">ActiveMQ</h4>
<p>Long established, endlessly pluggable architecture serving many generations of applications.</p>
<ul>
<li><a href="{{site.baseurl}}/components/classic/documentation/jms2">Partial Jakarta Messaging 3.1 &amp; JMS 2.0 support</a> and full JMS 1.1 support + full client implementation including JNDI</li>
Expand All @@ -64,7 +64,7 @@ <h4 class="card-title text-purple">ActiveMQ Artemis</h4>
<li>Simple &amp; powerful protocol agnostic addressing model</li>
<li>Flexible clustering for distributing load</li>
<li>Advanced journal implementations for low-latency persistence as well as JDBC</li>
<li>High feature parity with ActiveMQ Classic to ease migration</li>
<li>High feature parity with ActiveMQ to ease migration</li>
<li>Asynchronous mirroring for disaster recovery</li>
<li>Data Driven Load Balance</li>
</ul>
Expand Down
2 changes: 1 addition & 1 deletion src/issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ We can help you much quicker if you try the following:

|Component|Issue Tracker|
|---|---|
|Classic|[https://issues.apache.org/jira/projects/AMQ](https://issues.apache.org/jira/projects/AMQ)|
|ActiveMQ|[https://issues.apache.org/jira/projects/AMQ](https://issues.apache.org/jira/projects/AMQ)|
|Artemis|[https://issues.apache.org/jira/projects/ARTEMIS](https://issues.apache.org/jira/projects/ARTEMIS)|
|NMS|[https://issues.apache.org/jira/projects/AMQNET](https://issues.apache.org/jira/projects/AMQNET)|
|CMS|[https://issues.apache.org/jira/projects/AMQCPP](https://issues.apache.org/jira/projects/AMQCPP)|
Expand Down
3 changes: 1 addition & 2 deletions src/security-advisories.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@ type: main
---
Details of security problems fixed in released versions of individual Apache ActiveMQ components are detailed at:

* [ActiveMQ Classic](components/classic/security)
* [ActiveMQ](components/classic/security)
* [ActiveMQ Artemis](components/artemis/security)
* [ActiveMQ Apollo](security-advisories-apollo)

#### Reporting new security problems with Apache ActiveMQ components

Expand Down