You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2014/11/04 14:12:54 UTC
git commit: [KARAF-2919] Use transacted session for JMS move operation
Repository: karaf
Updated Branches:
refs/heads/master 8df8a2ef9 -> 6c4c948e2
[KARAF-2919] Use transacted session for JMS move operation
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/6c4c948e
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/6c4c948e
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/6c4c948e
Branch: refs/heads/master
Commit: 6c4c948e2c483a1a708479d0d9dcf7e25040bd0f
Parents: 8df8a2e
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Tue Nov 4 14:12:01 2014 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Tue Nov 4 14:12:01 2014 +0100
----------------------------------------------------------------------
.../org/apache/karaf/jms/internal/JmsConnector.java | 12 +++++++++++-
.../org/apache/karaf/jms/internal/JmsServiceImpl.java | 3 ++-
2 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/6c4c948e/jms/src/main/java/org/apache/karaf/jms/internal/JmsConnector.java
----------------------------------------------------------------------
diff --git a/jms/src/main/java/org/apache/karaf/jms/internal/JmsConnector.java b/jms/src/main/java/org/apache/karaf/jms/internal/JmsConnector.java
index ecace89..80eb457 100644
--- a/jms/src/main/java/org/apache/karaf/jms/internal/JmsConnector.java
+++ b/jms/src/main/java/org/apache/karaf/jms/internal/JmsConnector.java
@@ -91,9 +91,19 @@ public class JmsConnector implements Closeable {
}
public Session createSession() throws JMSException {
+ return createSession(Session.AUTO_ACKNOWLEDGE);
+ }
+
+ public Session createSession(int acknowledgeMode) throws JMSException {
if (connection == null) {
connect();
}
- return session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ if (acknowledgeMode == Session.SESSION_TRANSACTED) {
+ session = connection.createSession(true, acknowledgeMode);
+ } else {
+ session = connection.createSession(false, acknowledgeMode);
+ }
+ return session;
}
+
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/6c4c948e/jms/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java
----------------------------------------------------------------------
diff --git a/jms/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java b/jms/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java
index fe4b43d..6aaf70e 100644
--- a/jms/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java
+++ b/jms/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java
@@ -275,7 +275,7 @@ public class JmsServiceImpl implements JmsService {
JmsConnector connector = new JmsConnector(bundleContext, connectionFactory, username, password);
try {
int count = 0;
- Session session = connector.createSession();
+ Session session = connector.createSession(Session.SESSION_TRANSACTED);
MessageConsumer consumer = session.createConsumer(session.createQueue(sourceQueue), selector);
Message message;
do {
@@ -286,6 +286,7 @@ public class JmsServiceImpl implements JmsService {
count++;
}
} while (message != null);
+ session.commit();
consumer.close();
return count;
} finally {