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 {