Session
object.
+ *
+ * @throws JMSException if the Connection
object fails to
+ * create a session due to some internal error or lack of
+ * support for the specific transaction and acknowledgement
+ * mode.
+ * @since 2.0
+ */
+ @Override
+ public Session createSession() throws JMSException {
+ throw new UnsupportedOperationException("createSession() is unsupported");
+ }
+
+ /**
+ * Creates a Session
object.
+ *
+ * @param acknowledgeMode indicates whether the consumer or the client will
+ * acknowledge any messages it receives; ignored if the
+ * session is transacted. Legal values are
+ * Session.AUTO_ACKNOWLEDGE
,
+ * Session.CLIENT_ACKNOWLEDGE
, and
+ * Session.DUPS_OK_ACKNOWLEDGE
.
+ * @return a newly created session
+ * @throws JMSException if the Connection
object fails to
+ * create a session due to some internal error or lack of
+ * support for the specific transaction and acknowledgement
+ * mode.
+ * @see Session#AUTO_ACKNOWLEDGE
+ * @see Session#CLIENT_ACKNOWLEDGE
+ * @see Session#DUPS_OK_ACKNOWLEDGE
+ * @since 2.0
+ */
+ @Override
+ public Session createSession(int sessionMode) throws JMSException {
+ throw new UnsupportedOperationException("createSession(int sessionMode) is unsupported");
+ }
+
/**
* Creates a Session
object.
*
@@ -826,10 +864,32 @@ public class ActiveMQConnection implements Connection, TopicConnection, QueueCon
return new ActiveMQConnectionConsumer(this, sessionPool, info);
}
- // Properties
- // -------------------------------------------------------------------------
+ /**
+ *
+ * @see javax.jms.ConnectionConsumer
+ * @since 2.0
+ */
+ @Override
+ public ConnectionConsumer createSharedConnectionConsumer(Topic topic, String subscriptionName, String messageSelector, ServerSessionPool sessionPool,
+ int maxMessages) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConnectionConsumer() is not supported");
+ }
/**
+ *
+ * @see javax.jms.ConnectionConsumer
+ * @since 2.0
+ */
+ @Override
+ public ConnectionConsumer createSharedDurableConnectionConsumer(Topic topic, String subscriptionName, String messageSelector, ServerSessionPool sessionPool,
+ int maxMessages) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConnectionConsumer() is not supported");
+ }
+
+ // Properties
+ // -------------------------------------------------------------------------
+
+ /**
* Returns true if this connection has been started
*
* @return true if this Connection is started
diff --git a/activemq-client/src/main/java/org/apache/activemq/ActiveMQConnectionFactory.java b/activemq-client/src/main/java/org/apache/activemq/ActiveMQConnectionFactory.java
index 2a868ee7fc..461dbe1945 100644
--- a/activemq-client/src/main/java/org/apache/activemq/ActiveMQConnectionFactory.java
+++ b/activemq-client/src/main/java/org/apache/activemq/ActiveMQConnectionFactory.java
@@ -27,6 +27,7 @@ import java.util.concurrent.RejectedExecutionHandler;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.ExceptionListener;
+import javax.jms.JMSContext;
import javax.jms.JMSException;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
@@ -285,6 +286,38 @@ public class ActiveMQConnectionFactory extends JNDIBaseStorable implements Conne
public TopicConnection createTopicConnection(String userName, String password) throws JMSException {
return createActiveMQConnection(userName, password);
}
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext() {
+ throw new UnsupportedOperationException("createContext() is not supported");
+ }
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext(String userName, String password) {
+ throw new UnsupportedOperationException("createContext() is not supported");
+ }
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext(String userName, String password, int sessionMode) {
+ throw new UnsupportedOperationException("createContext() is not supported");
+ }
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext(int sessionMode) {
+ throw new UnsupportedOperationException("createContext() is not supported");
+ }
/**
* @return the StatsImpl associated with this ConnectionFactory.
diff --git a/activemq-client/src/main/java/org/apache/activemq/ActiveMQMessageProducer.java b/activemq-client/src/main/java/org/apache/activemq/ActiveMQMessageProducer.java
index 2fec295e42..9fd24396e0 100644
--- a/activemq-client/src/main/java/org/apache/activemq/ActiveMQMessageProducer.java
+++ b/activemq-client/src/main/java/org/apache/activemq/ActiveMQMessageProducer.java
@@ -20,6 +20,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;
+import javax.jms.CompletionListener;
import javax.jms.Destination;
import javax.jms.IllegalStateException;
import javax.jms.InvalidDestinationException;
@@ -220,7 +221,43 @@ public class ActiveMQMessageProducer extends ActiveMQMessageProducerSupport impl
*/
@Override
public void send(Destination destination, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException {
- this.send(destination, message, deliveryMode, priority, timeToLive, null);
+ this.send(destination, message, deliveryMode, priority, timeToLive, (AsyncCallback)null);
+ }
+
+ /**
+ *
+ * @param message the message to send
+ * @param CompletionListener to callback
+ * @throws JMSException if the JMS provider fails to send the message due to
+ * some internal error.
+ * @throws UnsupportedOperationException if an invalid destination is
+ * specified.
+ * @throws InvalidDestinationException if a client uses this method with an
+ * invalid destination.
+ * @see javax.jms.Session#createProducer
+ * @since 2.0
+ */
+ @Override
+ public void send(Message message, CompletionListener completionListener) throws JMSException {
+ throw new UnsupportedOperationException("send(Message, CompletionListener) is not supported");
+
+ }
+
+ @Override
+ public void send(Message message, int deliveryMode, int priority, long timeToLive,
+ CompletionListener completionListener) throws JMSException {
+ throw new UnsupportedOperationException("send(Message, deliveryMode, priority, timetoLive, CompletionListener) is not supported");
+ }
+
+ @Override
+ public void send(Destination destination, Message message, CompletionListener completionListener) throws JMSException {
+ throw new UnsupportedOperationException("send(Destination, Message, CompletionListener) is not supported");
+ }
+
+ @Override
+ public void send(Destination destination, Message message, int deliveryMode, int priority, long timeToLive,
+ CompletionListener completionListener) throws JMSException {
+ throw new UnsupportedOperationException("send(Destination, Message, deliveryMode, priority, timetoLive, CompletionListener) is not supported");
}
public void send(Message message, AsyncCallback onComplete) throws JMSException {
diff --git a/activemq-client/src/main/java/org/apache/activemq/ActiveMQMessageProducerSupport.java b/activemq-client/src/main/java/org/apache/activemq/ActiveMQMessageProducerSupport.java
index 1f8ce41d6d..b7dd6cf701 100644
--- a/activemq-client/src/main/java/org/apache/activemq/ActiveMQMessageProducerSupport.java
+++ b/activemq-client/src/main/java/org/apache/activemq/ActiveMQMessageProducerSupport.java
@@ -42,6 +42,31 @@ public abstract class ActiveMQMessageProducerSupport implements MessageProducer,
disableMessageTimestamp = session.connection.isDisableTimeStampsByDefault();
}
+ /**
+ * Gets the delivery delay associated with this MessageProducer
.
+ *
+ * @return this producer's DeliveryDely/
+ * @throws JMSException if the JMS provider fails to close the producer due to
+ * some internal error.
+ * @since 2.0
+ */
+ @Override
+ public void setDeliveryDelay(long deliveryDelay) throws JMSException {
+ throw new UnsupportedOperationException("setDeliveryDelay() is not supported");
+ }
+
+ /**
+ * Gets the delivery delay value for this MessageProducer
.
+ *
+ * @return the delivery delay for this messageProducer
+ * @throws javax.jms.JMSException if the JMS provider fails to determine if deliver delay is
+ * disabled due to some internal error.
+ */
+ @Override
+ public long getDeliveryDelay() throws JMSException {
+ throw new UnsupportedOperationException("getDeliveryDelay() is not supported");
+ }
+
/**
* Sets whether message IDs are disabled.
*
diff --git a/activemq-client/src/main/java/org/apache/activemq/ActiveMQQueueSession.java b/activemq-client/src/main/java/org/apache/activemq/ActiveMQQueueSession.java
index 66170e5753..700317ad45 100644
--- a/activemq-client/src/main/java/org/apache/activemq/ActiveMQQueueSession.java
+++ b/activemq-client/src/main/java/org/apache/activemq/ActiveMQQueueSession.java
@@ -104,6 +104,37 @@ public class ActiveMQQueueSession implements QueueSession {
}
return next.createConsumer(destination, messageSelector, noLocal);
}
+
+ @Override
+ public MessageConsumer createSharedConsumer(Topic topic, String sharedSubscriptionName) throws JMSException {
+ throw new IllegalStateException("Operation not supported by a QueueSession");
+ }
+
+ @Override
+ public MessageConsumer createSharedConsumer(Topic topic, String sharedSubscriptionName, String messageSelector) throws JMSException {
+ throw new IllegalStateException("Operation not supported by a QueueSession");
+ }
+
+ @Override
+ public MessageConsumer createDurableConsumer(Topic topic, String name) throws JMSException {
+ throw new IllegalStateException("Operation not supported by a QueueSession");
+
+ }
+
+ @Override
+ public MessageConsumer createDurableConsumer(Topic topic, String name, String messageSelector, boolean noLocal) throws JMSException {
+ throw new IllegalStateException("Operation not supported by a QueueSession");
+ }
+
+ @Override
+ public MessageConsumer createSharedDurableConsumer(Topic topic, String name) throws JMSException {
+ throw new IllegalStateException("Operation not supported by a QueueSession");
+ }
+
+ @Override
+ public MessageConsumer createSharedDurableConsumer(Topic topic, String name, String messageSelector) throws JMSException {
+ throw new IllegalStateException("Operation not supported by a QueueSession");
+ }
@Override
public TopicSubscriber createDurableSubscriber(Topic topic, String name) throws JMSException {
diff --git a/activemq-client/src/main/java/org/apache/activemq/ActiveMQSession.java b/activemq-client/src/main/java/org/apache/activemq/ActiveMQSession.java
index 35bddf2852..2ba1fe193f 100644
--- a/activemq-client/src/main/java/org/apache/activemq/ActiveMQSession.java
+++ b/activemq-client/src/main/java/org/apache/activemq/ActiveMQSession.java
@@ -1381,8 +1381,38 @@ public class ActiveMQSession implements Session, QueueSession, TopicSession, Sta
}
return new ActiveMQTopic(topicName);
}
+
+ @Override
+ public MessageConsumer createSharedConsumer(Topic topic, String sharedSubscriptionName) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConsumer(Topic, sharedSubscriptionName) is not supported");
+ }
- /**
+ @Override
+ public MessageConsumer createSharedConsumer(Topic topic, String sharedSubscriptionName, String messageSelector) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConsumer(Topic, sharedSubscriptionName, messageSelector) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createDurableConsumer(Topic topic, String name) throws JMSException {
+ throw new UnsupportedOperationException("createDurableConsumer(Topic, name) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createDurableConsumer(Topic topic, String name, String messageSelector, boolean noLocal) throws JMSException {
+ throw new UnsupportedOperationException("createDurableConsumer(Topic, name, messageSelector, noLocal) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createSharedDurableConsumer(Topic topic, String name) throws JMSException {
+ throw new UnsupportedOperationException("createSharedDurableConsumer(Topic, name) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createSharedDurableConsumer(Topic topic, String name, String messageSelector) throws JMSException {
+ throw new UnsupportedOperationException("createSharedDurableConsumer(Topic, name, messageSelector) is not supported");
+ }
+
+ /**
* Creates a durable subscriber to the specified topic.
*
* If a client needs to receive all the messages published on a topic,
diff --git a/activemq-client/src/main/java/org/apache/activemq/ActiveMQTopicSession.java b/activemq-client/src/main/java/org/apache/activemq/ActiveMQTopicSession.java
index ea92a71a02..a6a8cd0028 100644
--- a/activemq-client/src/main/java/org/apache/activemq/ActiveMQTopicSession.java
+++ b/activemq-client/src/main/java/org/apache/activemq/ActiveMQTopicSession.java
@@ -137,7 +137,38 @@ public class ActiveMQTopicSession implements TopicSession {
return next.createConsumer(destination, messageSelector, noLocal);
}
- /**
+ @Override
+ public MessageConsumer createSharedConsumer(Topic topic, String sharedSubscriptionName) throws JMSException {
+ throw new IllegalStateException("Operation not supported by a TopicSession");
+ }
+
+ @Override
+ public MessageConsumer createSharedConsumer(Topic topic, String sharedSubscriptionName, String messageSelector) throws JMSException {
+ throw new IllegalStateException("Operation not supported by a TopicSession");
+ }
+
+ @Override
+ public MessageConsumer createDurableConsumer(Topic topic, String name) throws JMSException {
+ throw new IllegalStateException("Operation not supported by a TopicSession");
+ }
+
+ @Override
+ public MessageConsumer createDurableConsumer(Topic topic, String name, String messageSelector, boolean noLocal) throws JMSException {
+ throw new IllegalStateException("Operation not supported by a TopicSession");
+ }
+
+ @Override
+ public MessageConsumer createSharedDurableConsumer(Topic topic, String name) throws JMSException {
+ throw new IllegalStateException("Operation not supported by a TopicSession");
+
+ }
+
+ @Override
+ public MessageConsumer createSharedDurableConsumer(Topic topic, String name, String messageSelector) throws JMSException {
+ throw new IllegalStateException("Operation not supported by a TopicSession");
+ }
+
+ /**
* @param topic
* @param name
* @return
diff --git a/activemq-client/src/main/java/org/apache/activemq/ActiveMQXAConnectionFactory.java b/activemq-client/src/main/java/org/apache/activemq/ActiveMQXAConnectionFactory.java
index c3836856a7..3a96b1efe3 100644
--- a/activemq-client/src/main/java/org/apache/activemq/ActiveMQXAConnectionFactory.java
+++ b/activemq-client/src/main/java/org/apache/activemq/ActiveMQXAConnectionFactory.java
@@ -22,6 +22,7 @@ import java.util.Properties;
import javax.jms.JMSException;
import javax.jms.XAConnection;
import javax.jms.XAConnectionFactory;
+import javax.jms.XAJMSContext;
import javax.jms.XAQueueConnection;
import javax.jms.XAQueueConnectionFactory;
import javax.jms.XATopicConnection;
@@ -79,6 +80,16 @@ public class ActiveMQXAConnectionFactory extends ActiveMQConnectionFactory imple
public XATopicConnection createXATopicConnection(String userName, String password) throws JMSException {
return (XATopicConnection) createActiveMQConnection(userName, password);
}
+
+ @Override
+ public XAJMSContext createXAContext() {
+ throw new UnsupportedOperationException("createXAContext() is not supported");
+ }
+
+ @Override
+ public XAJMSContext createXAContext(String userName, String password) {
+ throw new UnsupportedOperationException("createXAContext(userName, password) is not supported");
+ }
protected ActiveMQConnection createActiveMQConnection(Transport transport, JMSStatsImpl stats) throws Exception {
ActiveMQXAConnection connection = new ActiveMQXAConnection(transport, getClientIdGenerator(), getConnectionIdGenerator(), stats);
diff --git a/activemq-client/src/main/java/org/apache/activemq/ActiveMQXASslConnectionFactory.java b/activemq-client/src/main/java/org/apache/activemq/ActiveMQXASslConnectionFactory.java
index e6e5726aae..aa5fa6c8df 100644
--- a/activemq-client/src/main/java/org/apache/activemq/ActiveMQXASslConnectionFactory.java
+++ b/activemq-client/src/main/java/org/apache/activemq/ActiveMQXASslConnectionFactory.java
@@ -22,6 +22,7 @@ import java.util.Properties;
import javax.jms.JMSException;
import javax.jms.XAConnection;
import javax.jms.XAConnectionFactory;
+import javax.jms.XAJMSContext;
import javax.jms.XAQueueConnection;
import javax.jms.XAQueueConnectionFactory;
import javax.jms.XATopicConnection;
@@ -73,6 +74,16 @@ public class ActiveMQXASslConnectionFactory extends ActiveMQSslConnectionFactory
return (XATopicConnection) createActiveMQConnection(userName, password);
}
+ @Override
+ public XAJMSContext createXAContext() {
+ throw new UnsupportedOperationException("createXAContext() is not supported");
+ }
+
+ @Override
+ public XAJMSContext createXAContext(String userName, String password) {
+ throw new UnsupportedOperationException("createXAContext(userName, password) is not supported");
+ }
+
@Override
protected ActiveMQConnection createActiveMQConnection(Transport transport, JMSStatsImpl stats) throws Exception {
ActiveMQXAConnection connection = new ActiveMQXAConnection(transport, getClientIdGenerator(), getConnectionIdGenerator(), stats);
diff --git a/activemq-client/src/main/java/org/apache/activemq/command/ActiveMQMessage.java b/activemq-client/src/main/java/org/apache/activemq/command/ActiveMQMessage.java
index f0dd802fc9..1dd28eebc9 100644
--- a/activemq-client/src/main/java/org/apache/activemq/command/ActiveMQMessage.java
+++ b/activemq-client/src/main/java/org/apache/activemq/command/ActiveMQMessage.java
@@ -784,4 +784,25 @@ public class ActiveMQMessage extends Message implements org.apache.activemq.Mess
//which is already marshalled
return true;
}
+
+ @Override
+ public long getJMSDeliveryTime() throws JMSException {
+ return deliveryTime;
+ }
+
+ @Override
+ public void setJMSDeliveryTime(long deliveryTime) throws JMSException {
+ this.deliveryTime = deliveryTime;
+ }
+
+ @Override
+ public T getBody(Class c) throws JMSException {
+ throw new UnsupportedOperationException("getBody(Class) is not supported");
+ }
+
+ @Override
+ public boolean isBodyAssignableTo(Class c) throws JMSException {
+ throw new UnsupportedOperationException("isBodyAssignableTo(Class) is not supported");
+ }
+
}
diff --git a/activemq-client/src/main/java/org/apache/activemq/command/Message.java b/activemq-client/src/main/java/org/apache/activemq/command/Message.java
index 65b560d28a..44f80949d9 100644
--- a/activemq-client/src/main/java/org/apache/activemq/command/Message.java
+++ b/activemq-client/src/main/java/org/apache/activemq/command/Message.java
@@ -62,6 +62,7 @@ public abstract class Message extends BaseCommand implements MarshallAware, Mess
protected ActiveMQDestination destination;
protected TransactionId transactionId;
+ protected long deliveryTime;
protected long expiration;
protected long timestamp;
protected long arrival;
@@ -143,6 +144,7 @@ public abstract class Message extends BaseCommand implements MarshallAware, Mess
copy.messageId = messageId != null ? messageId.copy() : null;
copy.originalDestination = originalDestination;
copy.originalTransactionId = originalTransactionId;
+ copy.deliveryTime = deliveryTime;
copy.expiration = expiration;
copy.timestamp = timestamp;
copy.correlationId = correlationId;
diff --git a/activemq-console/pom.xml b/activemq-console/pom.xml
index b9498b827b..55726f8934 100644
--- a/activemq-console/pom.xml
+++ b/activemq-console/pom.xml
@@ -56,8 +56,8 @@
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
+ jakarta.jms
+ jakarta.jms-api
org.apache.commons
diff --git a/activemq-jms-pool/pom.xml b/activemq-jms-pool/pom.xml
index 7b4ca5f04d..1283cb5f4a 100644
--- a/activemq-jms-pool/pom.xml
+++ b/activemq-jms-pool/pom.xml
@@ -40,8 +40,8 @@
slf4j-api
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
+ jakarta.jms
+ jakarta.jms-api
org.apache.geronimo.components
diff --git a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledConnection.java b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledConnection.java
index 038e13c67b..13de1af8dd 100644
--- a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledConnection.java
+++ b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledConnection.java
@@ -162,6 +162,44 @@ public class PooledConnection implements TopicConnection, QueueConnection, Poole
return (TopicSession) createSession(transacted, ackMode);
}
+ /**
+ * Creates a Session
object.
+ *
+ * @throws JMSException if the Connection
object fails to
+ * create a session due to some internal error or lack of
+ * support for the specific transaction and acknowledgement
+ * mode.
+ * @since 2.0
+ */
+ @Override
+ public Session createSession() throws JMSException {
+ throw new UnsupportedOperationException("createSession() is unsupported");
+ }
+
+ /**
+ * Creates a Session
object.
+ *
+ * @param acknowledgeMode indicates whether the consumer or the client will
+ * acknowledge any messages it receives; ignored if the
+ * session is transacted. Legal values are
+ * Session.AUTO_ACKNOWLEDGE
,
+ * Session.CLIENT_ACKNOWLEDGE
, and
+ * Session.DUPS_OK_ACKNOWLEDGE
.
+ * @return a newly created session
+ * @throws JMSException if the Connection
object fails to
+ * create a session due to some internal error or lack of
+ * support for the specific transaction and acknowledgement
+ * mode.
+ * @see Session#AUTO_ACKNOWLEDGE
+ * @see Session#CLIENT_ACKNOWLEDGE
+ * @see Session#DUPS_OK_ACKNOWLEDGE
+ * @since 2.0
+ */
+ @Override
+ public Session createSession(int sessionMode) throws JMSException {
+ throw new UnsupportedOperationException("createSession(int sessionMode) is unsupported");
+ }
+
@Override
public Session createSession(boolean transacted, int ackMode) throws JMSException {
PooledSession result = (PooledSession) pool.createSession(transacted, ackMode);
@@ -175,6 +213,28 @@ public class PooledConnection implements TopicConnection, QueueConnection, Poole
result.addSessionEventListener(this);
return result;
}
+
+ /**
+ *
+ * @see javax.jms.ConnectionConsumer
+ * @since 2.0
+ */
+ @Override
+ public ConnectionConsumer createSharedConnectionConsumer(Topic topic, String subscriptionName, String messageSelector, ServerSessionPool sessionPool,
+ int maxMessages) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConnectionConsumer() is not supported");
+ }
+
+ /**
+ *
+ * @see javax.jms.ConnectionConsumer
+ * @since 2.0
+ */
+ @Override
+ public ConnectionConsumer createSharedDurableConnectionConsumer(Topic topic, String subscriptionName, String messageSelector, ServerSessionPool sessionPool,
+ int maxMessages) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConnectionConsumer() is not supported");
+ }
// Implementation methods
// -------------------------------------------------------------------------
diff --git a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledConnectionFactory.java b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledConnectionFactory.java
index 11fbbbb328..264303791c 100644
--- a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledConnectionFactory.java
+++ b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledConnectionFactory.java
@@ -23,6 +23,7 @@ import java.util.concurrent.atomic.AtomicReference;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
+import javax.jms.JMSContext;
import javax.jms.JMSException;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
@@ -271,6 +272,38 @@ public class PooledConnectionFactory implements ConnectionFactory, QueueConnecti
return newPooledConnection(connection);
}
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext() {
+ throw new UnsupportedOperationException("createContext() is not supported");
+ }
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext(String userName, String password) {
+ throw new UnsupportedOperationException("createContext(userName, password) is not supported");
+ }
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext(String userName, String password, int sessionMode) {
+ throw new UnsupportedOperationException("createContext(userName, password, sessionMode) is not supported");
+ }
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext(int sessionMode) {
+ throw new UnsupportedOperationException("createContext(sessionMode) is not supported");
+ }
+
protected Connection newPooledConnection(ConnectionPool connection) {
return new PooledConnection(connection);
}
diff --git a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledProducer.java b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledProducer.java
index 175f74de95..38d9b7f50e 100644
--- a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledProducer.java
+++ b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledProducer.java
@@ -16,6 +16,7 @@
*/
package org.apache.activemq.jms.pool;
+import javax.jms.CompletionListener;
import javax.jms.Destination;
import javax.jms.InvalidDestinationException;
import javax.jms.JMSException;
@@ -95,6 +96,68 @@ public class PooledProducer implements MessageProducer {
messageProducer.send(destination, message, deliveryMode, priority, timeToLive);
}
}
+
+ /**
+ *
+ * @param message the message to send
+ * @param CompletionListener to callback
+ * @throws JMSException if the JMS provider fails to send the message due to
+ * some internal error.
+ * @throws UnsupportedOperationException if an invalid destination is
+ * specified.
+ * @throws InvalidDestinationException if a client uses this method with an
+ * invalid destination.
+ * @see javax.jms.Session#createProducer
+ * @since 2.0
+ */
+ @Override
+ public void send(Message message, CompletionListener completionListener) throws JMSException {
+ throw new UnsupportedOperationException("send(Message, CompletionListener) is not supported");
+
+ }
+
+ @Override
+ public void send(Message message, int deliveryMode, int priority, long timeToLive,
+ CompletionListener completionListener) throws JMSException {
+ throw new UnsupportedOperationException("send(Message, deliveryMode, priority, timetoLive, CompletionListener) is not supported");
+ }
+
+ @Override
+ public void send(Destination destination, Message message, CompletionListener completionListener)
+ throws JMSException {
+ throw new UnsupportedOperationException("send(Destination, Message, CompletionListener) is not supported");
+ }
+
+ @Override
+ public void send(Destination destination, Message message, int deliveryMode, int priority, long timeToLive,
+ CompletionListener completionListener) throws JMSException {
+ throw new UnsupportedOperationException("send(Destination, Message, deliveryMode, priority, timetoLive, CompletionListener) is not supported");
+ }
+
+ /**
+ * Gets the delivery delay associated with this MessageProducer
.
+ *
+ * @return this producer's DeliveryDely/
+ * @throws JMSException if the JMS provider fails to close the producer due to
+ * some internal error.
+ * @since 2.0
+ */
+ @Override
+ public void setDeliveryDelay(long deliveryDelay) throws JMSException {
+ throw new UnsupportedOperationException("setDeliveryDelay() is not supported");
+ }
+
+ /**
+ * Gets the delivery delay value for this MessageProducer
.
+ *
+ * @return the delivery delay for this messageProducer
+ * @throws javax.jms.JMSException if the JMS provider fails to determine if deliver delay is
+ * disabled due to some internal error.
+ */
+ @Override
+ public long getDeliveryDelay() throws JMSException {
+ throw new UnsupportedOperationException("getDeliveryDelay() is not supported");
+ }
@Override
public Destination getDestination() {
diff --git a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledSession.java b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledSession.java
index 1e8fd23224..8e436e6434 100644
--- a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledSession.java
+++ b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledSession.java
@@ -360,6 +360,36 @@ public class PooledSession implements Session, TopicSession, QueueSession, XASes
public QueueReceiver createReceiver(Queue queue, String selector) throws JMSException {
return addQueueReceiver(((QueueSession) getInternalSession()).createReceiver(queue, selector));
}
+
+ @Override
+ public MessageConsumer createSharedConsumer(Topic topic, String sharedSubscriptionName) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConsumer(Topic, sharedSubscriptionName) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createSharedConsumer(Topic topic, String sharedSubscriptionName, String messageSelector) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConsumer(Topic, sharedSubscriptionName, messageSelector) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createDurableConsumer(Topic topic, String name) throws JMSException {
+ throw new UnsupportedOperationException("createDurableConsumer(Topic, name) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createDurableConsumer(Topic topic, String name, String messageSelector, boolean noLocal) throws JMSException {
+ throw new UnsupportedOperationException("createDurableConsumer(Topic, name, messageSelector, noLocal) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createSharedDurableConsumer(Topic topic, String name) throws JMSException {
+ throw new UnsupportedOperationException("createSharedDurableConsumer(Topic, name) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createSharedDurableConsumer(Topic topic, String name, String messageSelector) throws JMSException {
+ throw new UnsupportedOperationException("createSharedDurableConsumer(Topic, name, messageSelector) is not supported");
+ }
// Producer related methods
// -------------------------------------------------------------------------
diff --git a/activemq-jms-pool/src/test/java/org/apache/activemq/jms/pool/XAConnectionPoolTest.java b/activemq-jms-pool/src/test/java/org/apache/activemq/jms/pool/XAConnectionPoolTest.java
index a4ea122f24..f531ff4ee3 100644
--- a/activemq-jms-pool/src/test/java/org/apache/activemq/jms/pool/XAConnectionPoolTest.java
+++ b/activemq-jms-pool/src/test/java/org/apache/activemq/jms/pool/XAConnectionPoolTest.java
@@ -39,6 +39,7 @@ import javax.jms.TopicPublisher;
import javax.jms.TopicSession;
import javax.jms.XAConnection;
import javax.jms.XAConnectionFactory;
+import javax.jms.XAJMSContext;
import javax.naming.spi.ObjectFactory;
import javax.transaction.HeuristicMixedException;
import javax.transaction.HeuristicRollbackException;
@@ -419,6 +420,16 @@ public class XAConnectionPoolTest extends JmsPoolTestSupport {
this.connectionFactory = connectionFactory;
}
+ @Override
+ public XAJMSContext createXAContext() {
+ throw new UnsupportedOperationException("createXAContext() is not supported");
+ }
+
+ @Override
+ public XAJMSContext createXAContext(String userName, String password) {
+ throw new UnsupportedOperationException("createXAContext(userName, password) is not supported");
+ }
+
@Override
public XAConnection createXAConnection() throws JMSException {
return connectionFactory.createXAConnection();
diff --git a/activemq-karaf-itest/pom.xml b/activemq-karaf-itest/pom.xml
index a596858c1e..82af8d0ec5 100644
--- a/activemq-karaf-itest/pom.xml
+++ b/activemq-karaf-itest/pom.xml
@@ -34,6 +34,12 @@
org.apache.activemq
activemq-client
test
+
+
+ jakarta.jms
+ jakarta.jms-api
+
+
org.apache.activemq
diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdCamelFeatureTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdCamelFeatureTest.java
index d4f665111c..658ab40555 100644
--- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdCamelFeatureTest.java
+++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdCamelFeatureTest.java
@@ -37,7 +37,7 @@ public class ActiveMQBrokerNdCamelFeatureTest extends AbstractFeatureTest {
public static Option[] configure() {
return new Option[] //
{
- composite(configure("activemq", "activemq-camel")),
+ composite(configure("activemq", "camel-jms")),
editConfigurationFilePut("etc/system.properties", "camel.version", camelVersion()),
replaceConfigurationFile("etc/activemq.xml", new File(RESOURCE_BASE + "activemq-nd-camel.xml")),
replaceConfigurationFile("etc/org.apache.activemq.server-default.cfg", new File(RESOURCE_BASE + "org.apache.activemq.server-default.cfg"))
diff --git a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdExternalCamelFeatureTest.java b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdExternalCamelFeatureTest.java
index c41e397af7..afed638b1d 100644
--- a/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdExternalCamelFeatureTest.java
+++ b/activemq-karaf-itest/src/test/java/org/apache/activemq/karaf/itest/ActiveMQBrokerNdExternalCamelFeatureTest.java
@@ -50,7 +50,7 @@ public class ActiveMQBrokerNdExternalCamelFeatureTest extends AbstractFeatureTes
public void test() throws Throwable {
assertFeatureInstalled("activemq");
installAndAssertFeature("camel");
- installAndAssertFeature("activemq-camel");
+ installAndAssertFeature("camel-jms");
assertBrokerStarted();
withinReason(new Runnable() {
diff --git a/activemq-karaf/pom.xml b/activemq-karaf/pom.xml
index 4c6d4156e2..e6b637309e 100644
--- a/activemq-karaf/pom.xml
+++ b/activemq-karaf/pom.xml
@@ -32,13 +32,17 @@
1.1.4c_5
- 2.9
1.6.1_2
1.4.17_1
2.4.0
+
+ org.apache.geronimo.specs
+ geronimo-jms_2.0_spec
+ 1.0-alpha-2
+
org.ops4j.pax.logging
pax-logging-api
@@ -97,14 +101,32 @@
org.apache.activemq
activemq-log4j-appender
+
+
+ jakarta.jms
+ jakarta.jms-api
+
+
org.apache.activemq
activemq-console
+
+
+ jakarta.jms
+ jakarta.jms-api
+
+
org.apache.activemq
activemq-pool
+
+
+ jakarta.jms
+ jakarta.jms-api
+
+
diff --git a/activemq-karaf/src/main/resources/features-core.xml b/activemq-karaf/src/main/resources/features-core.xml
index feecb4ae23..28bd9b0309 100644
--- a/activemq-karaf/src/main/resources/features-core.xml
+++ b/activemq-karaf/src/main/resources/features-core.xml
@@ -32,7 +32,6 @@
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/${jaxb-bundle-version}
mvn:org.apache.commons/commons-pool2/${commons-pool2-version}
mvn:commons-net/commons-net/${commons-net-version}
- mvn:org.apache.zookeeper/zookeeper/${zookeeper-version}
mvn:org.apache.activemq/activemq-osgi/${project.version}
@@ -57,7 +56,6 @@
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jasypt-spring31/1.9.2_1
mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.stax-api-1.0/${servicemix.specs.version}
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/${xpp3-bundle-version}
- mvn:joda-time/joda-time/${jodatime-bundle-version}
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xstream/${xstream-bundle-version}
mvn:org.apache.aries/org.apache.aries.util/${aries-version}
mvn:org.apache.activemq/activeio-core/${activeio-version}
diff --git a/activemq-osgi/pom.xml b/activemq-osgi/pom.xml
index 9c3b0652d6..c042b4e2cc 100644
--- a/activemq-osgi/pom.xml
+++ b/activemq-osgi/pom.xml
@@ -473,9 +473,9 @@
true
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
- 1.1.1
+ jakarta.jms
+ jakarta.jms-api
+ 2.0.3
sources
true
diff --git a/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQConnectionFactory.java b/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQConnectionFactory.java
index 4e30a374cd..9ffd85b40d 100644
--- a/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQConnectionFactory.java
+++ b/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQConnectionFactory.java
@@ -20,6 +20,7 @@ import java.io.Serializable;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
+import javax.jms.JMSContext;
import javax.jms.JMSException;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
@@ -77,6 +78,38 @@ public class ActiveMQConnectionFactory implements ConnectionFactory, QueueConnec
i.setPassword(password);
return createConnection(i);
}
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext() {
+ throw new UnsupportedOperationException("createContext() is not supported");
+ }
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext(String userName, String password) {
+ throw new UnsupportedOperationException("createContext(userName, password) is not supported");
+ }
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext(String userName, String password, int sessionMode) {
+ throw new UnsupportedOperationException("createContext(userName, password, sessionMode) is not supported");
+ }
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext(int sessionMode) {
+ throw new UnsupportedOperationException("createContext(sessionMode) is not supported");
+ }
/**
* @param connectionRequestInfo
diff --git a/activemq-ra/src/main/java/org/apache/activemq/ra/InboundConnectionProxy.java b/activemq-ra/src/main/java/org/apache/activemq/ra/InboundConnectionProxy.java
index 800e73a630..de4b24f93c 100644
--- a/activemq-ra/src/main/java/org/apache/activemq/ra/InboundConnectionProxy.java
+++ b/activemq-ra/src/main/java/org/apache/activemq/ra/InboundConnectionProxy.java
@@ -108,4 +108,62 @@ public class InboundConnectionProxy implements Connection, QueueConnection, Topi
protected JMSException createNotSupported(String text) {
return new JMSException("Operation: " + text + " is not supported for this proxy JCA ResourceAdapter provider");
}
+
+ /**
+ * Creates a Session
object.
+ *
+ * @throws JMSException if the Connection
object fails to
+ * create a session due to some internal error or lack of
+ * support for the specific transaction and acknowledgement
+ * mode.
+ * @since 2.0
+ */
+ @Override
+ public Session createSession() throws JMSException {
+ throw new UnsupportedOperationException("createSession() is unsupported");
+ }
+
+ /**
+ * Creates a Session
object.
+ *
+ * @param acknowledgeMode indicates whether the consumer or the client will
+ * acknowledge any messages it receives; ignored if the
+ * session is transacted. Legal values are
+ * Session.AUTO_ACKNOWLEDGE
,
+ * Session.CLIENT_ACKNOWLEDGE
, and
+ * Session.DUPS_OK_ACKNOWLEDGE
.
+ * @return a newly created session
+ * @throws JMSException if the Connection
object fails to
+ * create a session due to some internal error or lack of
+ * support for the specific transaction and acknowledgement
+ * mode.
+ * @see Session#AUTO_ACKNOWLEDGE
+ * @see Session#CLIENT_ACKNOWLEDGE
+ * @see Session#DUPS_OK_ACKNOWLEDGE
+ * @since 2.0
+ */
+ @Override
+ public Session createSession(int sessionMode) throws JMSException {
+ throw new UnsupportedOperationException("createSession(int sessionMode) is unsupported");
+ }
+
+ /**
+ *
+ * @see javax.jms.ConnectionConsumer
+ * @since 2.0
+ */
+ @Override
+ public ConnectionConsumer createSharedConnectionConsumer(Topic topic, String subscriptionName, String messageSelector, ServerSessionPool sessionPool, int maxMessages) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConnectionConsumer() is not supported");
+ }
+
+ /**
+ *
+ * @see javax.jms.ConnectionConsumer
+ * @since 2.0
+ */
+ @Override
+ public ConnectionConsumer createSharedDurableConnectionConsumer(Topic topic, String subscriptionName, String messageSelector, ServerSessionPool sessionPool, int maxMessages) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConnectionConsumer() is not supported");
+ }
}
diff --git a/activemq-ra/src/main/java/org/apache/activemq/ra/InboundConnectionProxyFactory.java b/activemq-ra/src/main/java/org/apache/activemq/ra/InboundConnectionProxyFactory.java
index 57119ae900..9472bce259 100644
--- a/activemq-ra/src/main/java/org/apache/activemq/ra/InboundConnectionProxyFactory.java
+++ b/activemq-ra/src/main/java/org/apache/activemq/ra/InboundConnectionProxyFactory.java
@@ -18,6 +18,7 @@ package org.apache.activemq.ra;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
+import javax.jms.JMSContext;
import javax.jms.JMSException;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
@@ -56,4 +57,36 @@ public class InboundConnectionProxyFactory implements ConnectionFactory, QueueCo
public TopicConnection createTopicConnection(String userName, String password) throws JMSException {
return createTopicConnection();
}
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext() {
+ throw new UnsupportedOperationException("createContext() is not supported");
+ }
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext(String userName, String password) {
+ throw new UnsupportedOperationException("createContext(userName, password) is not supported");
+ }
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext(String userName, String password, int sessionMode) {
+ throw new UnsupportedOperationException("createContext(userName, password, sessionMode) is not supported");
+ }
+
+ /**
+ * @return Returns the JMSContext.
+ */
+ @Override
+ public JMSContext createContext(int sessionMode) {
+ throw new UnsupportedOperationException("createContext(sessionMode) is not supported");
+ }
}
diff --git a/activemq-ra/src/main/java/org/apache/activemq/ra/InboundMessageProducerProxy.java b/activemq-ra/src/main/java/org/apache/activemq/ra/InboundMessageProducerProxy.java
index 3ed5ef8e6e..7c42f82a3f 100644
--- a/activemq-ra/src/main/java/org/apache/activemq/ra/InboundMessageProducerProxy.java
+++ b/activemq-ra/src/main/java/org/apache/activemq/ra/InboundMessageProducerProxy.java
@@ -16,7 +16,9 @@
*/
package org.apache.activemq.ra;
+import javax.jms.CompletionListener;
import javax.jms.Destination;
+import javax.jms.InvalidDestinationException;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageProducer;
@@ -159,4 +161,63 @@ public class InboundMessageProducerProxy implements MessageProducer, QueueSender
public void publish(Topic arg0, Message arg1, int arg2, int arg3, long arg4) throws JMSException {
messageProducer.send(arg0, arg1, arg2, arg3, arg4);
}
+
+ /**
+ *
+ * @param message the message to send
+ * @param CompletionListener to callback
+ * @throws JMSException if the JMS provider fails to send the message due to
+ * some internal error.
+ * @throws UnsupportedOperationException if an invalid destination is
+ * specified.
+ * @throws InvalidDestinationException if a client uses this method with an
+ * invalid destination.
+ * @see javax.jms.Session#createProducer
+ * @since 2.0
+ */
+ @Override
+ public void send(Message message, CompletionListener completionListener) throws JMSException {
+ throw new UnsupportedOperationException("send(Message, CompletionListener) is not supported");
+
+ }
+
+ @Override
+ public void send(Message message, int deliveryMode, int priority, long timeToLive, CompletionListener completionListener) throws JMSException {
+ throw new UnsupportedOperationException("send(Message, deliveryMode, priority, timetoLive, CompletionListener) is not supported");
+ }
+
+ @Override
+ public void send(Destination destination, Message message, CompletionListener completionListener) throws JMSException {
+ throw new UnsupportedOperationException("send(Destination, Message, CompletionListener) is not supported");
+ }
+
+ @Override
+ public void send(Destination destination, Message message, int deliveryMode, int priority, long timeToLive, CompletionListener completionListener) throws JMSException {
+ throw new UnsupportedOperationException("send(Destination, Message, deliveryMode, priority, timetoLive, CompletionListener) is not supported");
+ }
+
+ /**
+ * Gets the delivery delay associated with this MessageProducer
.
+ *
+ * @return this producer's DeliveryDely/
+ * @throws JMSException if the JMS provider fails to close the producer due to
+ * some internal error.
+ * @since 2.0
+ */
+ @Override
+ public void setDeliveryDelay(long deliveryDelay) throws JMSException {
+ throw new UnsupportedOperationException("setDeliveryDelay() is not supported");
+ }
+
+ /**
+ * Gets the delivery delay value for this MessageProducer
.
+ *
+ * @return the delivery delay for this messageProducer
+ * @throws javax.jms.JMSException if the JMS provider fails to determine if deliver delay is
+ * disabled due to some internal error.
+ */
+ @Override
+ public long getDeliveryDelay() throws JMSException {
+ throw new UnsupportedOperationException("getDeliveryDelay() is not supported");
+ }
}
diff --git a/activemq-ra/src/main/java/org/apache/activemq/ra/InboundSessionProxy.java b/activemq-ra/src/main/java/org/apache/activemq/ra/InboundSessionProxy.java
index ae9d84830e..93ea988b66 100644
--- a/activemq-ra/src/main/java/org/apache/activemq/ra/InboundSessionProxy.java
+++ b/activemq-ra/src/main/java/org/apache/activemq/ra/InboundSessionProxy.java
@@ -237,6 +237,36 @@ public class InboundSessionProxy implements Session, QueueSession, TopicSession
return getTopicSession().createPublisher(topic);
}
+ @Override
+ public MessageConsumer createSharedConsumer(Topic topic, String sharedSubscriptionName) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConsumer(Topic, sharedSubscriptionName) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createSharedConsumer(Topic topic, String sharedSubscriptionName, String messageSelector) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConsumer(Topic, sharedSubscriptionName, messageSelector) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createDurableConsumer(Topic topic, String name) throws JMSException {
+ throw new UnsupportedOperationException("createDurableConsumer(Topic, name) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createDurableConsumer(Topic topic, String name, String messageSelector, boolean noLocal) throws JMSException {
+ throw new UnsupportedOperationException("createDurableConsumer(Topic, name, messageSelector, noLocal) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createSharedDurableConsumer(Topic topic, String name) throws JMSException {
+ throw new UnsupportedOperationException("createSharedDurableConsumer(Topic, name) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createSharedDurableConsumer(Topic topic, String name, String messageSelector) throws JMSException {
+ throw new UnsupportedOperationException("createSharedDurableConsumer(Topic, name, messageSelector) is not supported");
+ }
+
public String toString() {
try {
return "InboundSessionProxy { " + getSession() + " }";
diff --git a/activemq-ra/src/main/java/org/apache/activemq/ra/ManagedConnectionProxy.java b/activemq-ra/src/main/java/org/apache/activemq/ra/ManagedConnectionProxy.java
index d18260a0a2..c3b3c883e8 100644
--- a/activemq-ra/src/main/java/org/apache/activemq/ra/ManagedConnectionProxy.java
+++ b/activemq-ra/src/main/java/org/apache/activemq/ra/ManagedConnectionProxy.java
@@ -290,4 +290,62 @@ public class ManagedConnectionProxy implements Connection, QueueConnection, Topi
}
}
+ /**
+ * Creates a Session
object.
+ *
+ * @throws JMSException if the Connection
object fails to
+ * create a session due to some internal error or lack of
+ * support for the specific transaction and acknowledgement
+ * mode.
+ * @since 2.0
+ */
+ @Override
+ public Session createSession() throws JMSException {
+ throw new UnsupportedOperationException("createSession() is unsupported");
+ }
+
+ /**
+ * Creates a Session
object.
+ *
+ * @param acknowledgeMode indicates whether the consumer or the client will
+ * acknowledge any messages it receives; ignored if the
+ * session is transacted. Legal values are
+ * Session.AUTO_ACKNOWLEDGE
,
+ * Session.CLIENT_ACKNOWLEDGE
, and
+ * Session.DUPS_OK_ACKNOWLEDGE
.
+ * @return a newly created session
+ * @throws JMSException if the Connection
object fails to
+ * create a session due to some internal error or lack of
+ * support for the specific transaction and acknowledgement
+ * mode.
+ * @see Session#AUTO_ACKNOWLEDGE
+ * @see Session#CLIENT_ACKNOWLEDGE
+ * @see Session#DUPS_OK_ACKNOWLEDGE
+ * @since 2.0
+ */
+ @Override
+ public Session createSession(int sessionMode) throws JMSException {
+ throw new UnsupportedOperationException("createSession(int sessionMode) is unsupported");
+ }
+
+ /**
+ *
+ * @see javax.jms.ConnectionConsumer
+ * @since 2.0
+ */
+ @Override
+ public ConnectionConsumer createSharedConnectionConsumer(Topic topic, String subscriptionName, String messageSelector, ServerSessionPool sessionPool, int maxMessages) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConnectionConsumer() is not supported");
+ }
+
+ /**
+ *
+ * @see javax.jms.ConnectionConsumer
+ * @since 2.0
+ */
+ @Override
+ public ConnectionConsumer createSharedDurableConnectionConsumer(Topic topic, String subscriptionName, String messageSelector, ServerSessionPool sessionPool, int maxMessages) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConnectionConsumer() is not supported");
+ }
+
}
diff --git a/activemq-ra/src/main/java/org/apache/activemq/ra/ManagedSessionProxy.java b/activemq-ra/src/main/java/org/apache/activemq/ra/ManagedSessionProxy.java
index a71e48a41e..6d76a4780c 100644
--- a/activemq-ra/src/main/java/org/apache/activemq/ra/ManagedSessionProxy.java
+++ b/activemq-ra/src/main/java/org/apache/activemq/ra/ManagedSessionProxy.java
@@ -406,6 +406,36 @@ public class ManagedSessionProxy implements Session, QueueSession, TopicSession
throw new RuntimeException("Operation not supported.");
}
+ @Override
+ public MessageConsumer createSharedConsumer(Topic topic, String sharedSubscriptionName) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConsumer(Topic, sharedSubscriptionName) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createSharedConsumer(Topic topic, String sharedSubscriptionName, String messageSelector) throws JMSException {
+ throw new UnsupportedOperationException("createSharedConsumer(Topic, sharedSubscriptionName, messageSelector) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createDurableConsumer(Topic topic, String name) throws JMSException {
+ throw new UnsupportedOperationException("createDurableConsumer(Topic, name) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createDurableConsumer(Topic topic, String name, String messageSelector, boolean noLocal) throws JMSException {
+ throw new UnsupportedOperationException("createDurableConsumer(Topic, name, messageSelector, noLocal) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createSharedDurableConsumer(Topic topic, String name) throws JMSException {
+ throw new UnsupportedOperationException("createSharedDurableConsumer(Topic, name) is not supported");
+ }
+
+ @Override
+ public MessageConsumer createSharedDurableConsumer(Topic topic, String name, String messageSelector) throws JMSException {
+ throw new UnsupportedOperationException("createSharedDurableConsumer(Topic, name, messageSelector) is not supported");
+ }
+
public String toString() {
return "ManagedSessionProxy { " + session + " }";
}
diff --git a/activemq-rar/pom.xml b/activemq-rar/pom.xml
index 8357ad10e8..98bc70ed8f 100644
--- a/activemq-rar/pom.xml
+++ b/activemq-rar/pom.xml
@@ -38,8 +38,8 @@
activemq-spring
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
+ jakarta.jms
+ jakarta.jms-api
org.apache.geronimo.specs
@@ -164,8 +164,8 @@
activemq-ra
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
+ jakarta.jms
+ jakarta.jms-api
org.apache.geronimo.specs
diff --git a/activemq-tooling/activemq-maven-plugin/pom.xml b/activemq-tooling/activemq-maven-plugin/pom.xml
index 4cf6d308d2..a17c6b665e 100644
--- a/activemq-tooling/activemq-maven-plugin/pom.xml
+++ b/activemq-tooling/activemq-maven-plugin/pom.xml
@@ -55,8 +55,8 @@
derbynet
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
+ jakarta.jms
+ jakarta.jms-api
org.apache.geronimo.specs
diff --git a/activemq-tooling/activemq-memtest-maven-plugin/pom.xml b/activemq-tooling/activemq-memtest-maven-plugin/pom.xml
index 06296c9f03..e52472b6d3 100644
--- a/activemq-tooling/activemq-memtest-maven-plugin/pom.xml
+++ b/activemq-tooling/activemq-memtest-maven-plugin/pom.xml
@@ -56,8 +56,8 @@
derbynet
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
+ jakarta.jms
+ jakarta.jms-api
org.apache.geronimo.specs
diff --git a/activemq-tooling/activemq-perf-maven-plugin/pom.xml b/activemq-tooling/activemq-perf-maven-plugin/pom.xml
index 398bf1581a..ca7197ff39 100644
--- a/activemq-tooling/activemq-perf-maven-plugin/pom.xml
+++ b/activemq-tooling/activemq-perf-maven-plugin/pom.xml
@@ -59,8 +59,8 @@
derbynet
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
+ jakarta.jms
+ jakarta.jms-api
org.apache.geronimo.specs
diff --git a/activemq-unit-tests/pom.xml b/activemq-unit-tests/pom.xml
index f73adfc751..2db07afef9 100644
--- a/activemq-unit-tests/pom.xml
+++ b/activemq-unit-tests/pom.xml
@@ -67,8 +67,8 @@
activemq-runtime-config
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
+ jakarta.jms
+ jakarta.jms-api
org.slf4j
diff --git a/activemq-web-console/pom.xml b/activemq-web-console/pom.xml
index 2b04dd34fc..ce3be8ea55 100644
--- a/activemq-web-console/pom.xml
+++ b/activemq-web-console/pom.xml
@@ -186,8 +186,8 @@
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
+ jakarta.jms
+ jakarta.jms-api
org.apache.geronimo.specs
diff --git a/activemq-web-demo/pom.xml b/activemq-web-demo/pom.xml
index 732e81fa9b..d4e7847307 100644
--- a/activemq-web-demo/pom.xml
+++ b/activemq-web-demo/pom.xml
@@ -142,8 +142,8 @@
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
+ jakarta.jms
+ jakarta.jms-api
org.apache.geronimo.specs
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 9724e715e0..9d328502ff 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -254,8 +254,8 @@
log4j
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
+ jakarta.jms
+ jakarta.jms-api
org.apache.geronimo.specs
diff --git a/assembly/src/main/descriptors/common-bin.xml b/assembly/src/main/descriptors/common-bin.xml
index 57b6d92790..ce02af96ca 100644
--- a/assembly/src/main/descriptors/common-bin.xml
+++ b/assembly/src/main/descriptors/common-bin.xml
@@ -142,7 +142,7 @@
${pom.groupId}:activemq-jaas
org.apache.activemq.protobuf:activemq-protobuf
org.apache.geronimo.specs:geronimo-j2ee-management_1.1_spec
- org.apache.geronimo.specs:geronimo-jms_1.1_spec
+ jakarta.jms:jakarta.jms-api
org.apache.geronimo.specs:geronimo-jta_1.1_spec
${pom.groupId}:activemq-web
org.fusesource.hawtbuf:hawtbuf
diff --git a/assembly/src/release/examples/amqp/java/pom.xml b/assembly/src/release/examples/amqp/java/pom.xml
index 955f71566f..d257ab3e7a 100644
--- a/assembly/src/release/examples/amqp/java/pom.xml
+++ b/assembly/src/release/examples/amqp/java/pom.xml
@@ -29,9 +29,9 @@
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
- 1.1
+ jakarta.jms
+ jakarta.jms-api
+ 2.0.3
org.apache.qpid
diff --git a/assembly/src/release/examples/openwire/advanced-scenarios/pom.xml b/assembly/src/release/examples/openwire/advanced-scenarios/pom.xml
index 5e9c8e2325..a53d815b9b 100644
--- a/assembly/src/release/examples/openwire/advanced-scenarios/pom.xml
+++ b/assembly/src/release/examples/openwire/advanced-scenarios/pom.xml
@@ -41,11 +41,10 @@
ActiveMQ OpenWire Java Examples
-
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
- 1.1
+ jakarta.jms
+ jakarta.jms-api
+ 2.0.3
org.apache.activemq
diff --git a/assembly/src/release/examples/openwire/java/pom.xml b/assembly/src/release/examples/openwire/java/pom.xml
index a624592a16..58e84d89a9 100644
--- a/assembly/src/release/examples/openwire/java/pom.xml
+++ b/assembly/src/release/examples/openwire/java/pom.xml
@@ -28,9 +28,9 @@
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
- 1.1
+ jakarta.jms
+ jakarta.jms-api
+ 2.0.3
org.apache.activemq
diff --git a/assembly/src/release/examples/stomp/java/pom.xml b/assembly/src/release/examples/stomp/java/pom.xml
index 50b451189d..a52ff14e0e 100644
--- a/assembly/src/release/examples/stomp/java/pom.xml
+++ b/assembly/src/release/examples/stomp/java/pom.xml
@@ -29,9 +29,9 @@
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
- 1.1
+ jakarta.jms
+ jakarta.jms-api
+ 2.0.3
org.fusesource.stompjms
diff --git a/pom.xml b/pom.xml
index 79055fb5e4..45370de3ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -465,9 +465,9 @@
- org.apache.geronimo.specs
- geronimo-jms_1.1_spec
- 1.1.1
+ jakarta.jms
+ jakarta.jms-api
+ 2.0.3