You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2015/08/14 20:22:05 UTC

svn commit: r1695954 - in /aries/trunk/transaction/transaction-jms: ./ src/main/java/org/apache/aries/transaction/jms/internal/

Author: cschneider
Date: Fri Aug 14 18:22:04 2015
New Revision: 1695954

URL: http://svn.apache.org/r1695954
Log:
[ARIES-1379] Cleanup Aries transaction JMS

Modified:
    aries/trunk/transaction/transaction-jms/pom.xml
    aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/Activator.java
    aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/ConnectionPool.java
    aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/IntrospectionSupport.java
    aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/RecoverableConnectionPool.java
    aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaConnectionPool.java
    aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaPooledConnectionFactory.java

Modified: aries/trunk/transaction/transaction-jms/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/transaction/transaction-jms/pom.xml?rev=1695954&r1=1695953&r2=1695954&view=diff
==============================================================================
--- aries/trunk/transaction/transaction-jms/pom.xml (original)
+++ aries/trunk/transaction/transaction-jms/pom.xml Fri Aug 14 18:22:04 2015
@@ -51,7 +51,7 @@
             org.apache.aries.transaction.jms.internal
         </aries.osgi.private.pkg>
         <aries.osgi.require.capability>
-            osgi.service; effective:=active; filter:="(objectClass=org.apache.aries.transaction.AriesTransactionManager)"
+            osgi.service; effective:=active; filter:="(objectClass=javax.transaction.TransactionManager)"
         </aries.osgi.require.capability>
         <aries.osgi.provide.capability>
             osg.service; effective:=active; objectClass=org.apache.aries.blueprint.NamespaceHandler; osgi.service.blueprint.namespace="http://aries.apache.org/xmlns/transaction-jms/2.0"
@@ -69,8 +69,8 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.aries.transaction</groupId>
-            <artifactId>org.apache.aries.transaction.manager</artifactId>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-jta_1.1_spec</artifactId>
             <version>1.1.1</version>
         </dependency>
         <dependency>
@@ -100,16 +100,16 @@
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.10</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-simple</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.components</groupId>
+            <artifactId>geronimo-transaction</artifactId>
+            <version>3.1.3</version>
+            <scope>provided</scope>
+        </dependency>
     </dependencies>
 
     <build>

Modified: aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/Activator.java
URL: http://svn.apache.org/viewvc/aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/Activator.java?rev=1695954&r1=1695953&r2=1695954&view=diff
==============================================================================
--- aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/Activator.java (original)
+++ aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/Activator.java Fri Aug 14 18:22:04 2015
@@ -22,21 +22,20 @@ import org.apache.aries.blueprint.Namesp
 import org.apache.xbean.blueprint.context.impl.XBeanNamespaceHandler;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class Activator implements BundleActivator {
-
+    private static final String JMS_NS_URI = "http://aries.apache.org/xmlns/transaction-jms/2.0";
     private static final Logger LOGGER = LoggerFactory.getLogger(Activator.class);
 
-    private ServiceRegistration nshReg;
-
     @Override
     public void start(BundleContext context) throws Exception {
         // Expose blueprint namespace handler if xbean is present
         try {
-            nshReg = JmsNamespaceHandler.register(context);
+            Dictionary<String, Object> props = new Hashtable<String, Object>();
+            props.put("osgi.service.blueprint.namespace", JMS_NS_URI);
+            context.registerService(NamespaceHandler.class, jmsNamespaceHandler(context), props);
         } catch (NoClassDefFoundError e) {
             LOGGER.warn("Unable to register JMS blueprint namespace handler (xbean-blueprint not available).");
         } catch (Exception e) {
@@ -44,35 +43,18 @@ public class Activator implements Bundle
         }
     }
 
-    @Override
-    public void stop(BundleContext context) throws Exception {
-        if (nshReg != null) {
-            safeUnregisterService(nshReg);
-        }
+    private NamespaceHandler jmsNamespaceHandler(BundleContext context) throws Exception {
+        return new XBeanNamespaceHandler(
+                JMS_NS_URI,
+                "org.apache.aries.transaction.jms.xsd",
+                context.getBundle(),
+                "META-INF/services/org/apache/xbean/spring/http/aries.apache.org/xmlns/transaction-jms/2.0"
+        );
     }
 
-    static void safeUnregisterService(ServiceRegistration reg) {
-        if (reg != null) {
-            try {
-                reg.unregister();
-            } catch (IllegalStateException e) {
-                //This can be safely ignored
-            }
-        }
+    @Override
+    public void stop(BundleContext context) throws Exception {
     }
 
-    static class JmsNamespaceHandler {
 
-        public static ServiceRegistration register(BundleContext context) throws Exception {
-            XBeanNamespaceHandler nsh = new XBeanNamespaceHandler(
-                    "http://aries.apache.org/xmlns/transaction-jms/2.0",
-                    "org.apache.aries.transaction.jms.xsd",
-                    context.getBundle(),
-                    "META-INF/services/org/apache/xbean/spring/http/aries.apache.org/xmlns/transaction-jms/2.0"
-            );
-            Dictionary<String, Object> props = new Hashtable<String, Object>();
-            props.put("osgi.service.blueprint.namespace", "http://aries.apache.org/xmlns/transaction-jms/2.0");
-            return context.registerService(NamespaceHandler.class.getName(), nsh, props);
-        }
-    }
 }

Modified: aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/ConnectionPool.java
URL: http://svn.apache.org/viewvc/aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/ConnectionPool.java?rev=1695954&r1=1695953&r2=1695954&view=diff
==============================================================================
--- aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/ConnectionPool.java (original)
+++ aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/ConnectionPool.java Fri Aug 14 18:22:04 2015
@@ -16,22 +16,18 @@
  */
 package org.apache.aries.transaction.jms.internal;
 
-import java.util.Iterator;
 import java.util.List;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import javax.jms.*;
+import javax.jms.Connection;
 import javax.jms.IllegalStateException;
+import javax.jms.JMSException;
+import javax.jms.Session;
 
 import org.apache.commons.pool.KeyedPoolableObjectFactory;
-import org.apache.commons.pool.ObjectPoolFactory;
 import org.apache.commons.pool.impl.GenericKeyedObjectPool;
 import org.apache.commons.pool.impl.GenericObjectPool;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * Holds a real JMS connection along with the session pools associated with it.
@@ -42,9 +38,6 @@ import org.slf4j.LoggerFactory;
  * to this ConnectionPool are released.
  */
 public class ConnectionPool {
-
-    private static final transient Logger LOG = LoggerFactory.getLogger(ConnectionPool.class);
-
     protected Connection connection;
     private int referenceCount;
     private long lastUsed = System.currentTimeMillis();

Modified: aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/IntrospectionSupport.java
URL: http://svn.apache.org/viewvc/aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/IntrospectionSupport.java?rev=1695954&r1=1695953&r2=1695954&view=diff
==============================================================================
--- aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/IntrospectionSupport.java (original)
+++ aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/IntrospectionSupport.java Fri Aug 14 18:22:04 2015
@@ -33,6 +33,7 @@ public final class IntrospectionSupport
     private IntrospectionSupport() {
     }
 
+    @SuppressWarnings("rawtypes")
     public static boolean setProperties(Object target, Map props) {
         boolean rc = false;
 
@@ -81,6 +82,9 @@ public final class IntrospectionSupport
         }
     }
 
+    @SuppressWarnings({
+        "rawtypes", "unchecked"
+    })
     private static Object convert(Object value, Class to) {
         if (value == null) {
             // lets avoid NullPointerException when converting to boolean for null values
@@ -104,7 +108,7 @@ public final class IntrospectionSupport
                     + " to " + to + " with value " + value);
     }
 
-    private static Method findSetterMethod(Class clazz, String name) {
+    private static Method findSetterMethod(Class<?> clazz, String name) {
         // Build the method name.
         name = "set" + Character.toUpperCase(name.charAt(0)) + name.substring(1);
         Method[] methods = clazz.getMethods();

Modified: aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/RecoverableConnectionPool.java
URL: http://svn.apache.org/viewvc/aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/RecoverableConnectionPool.java?rev=1695954&r1=1695953&r2=1695954&view=diff
==============================================================================
--- aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/RecoverableConnectionPool.java (original)
+++ aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/RecoverableConnectionPool.java Fri Aug 14 18:22:04 2015
@@ -18,12 +18,10 @@ package org.apache.aries.transaction.jms
 
 import javax.jms.Connection;
 import javax.jms.JMSException;
-import javax.jms.XAConnection;
 import javax.jms.XASession;
 import javax.transaction.TransactionManager;
 import javax.transaction.xa.XAResource;
 
-import org.apache.commons.pool.ObjectPoolFactory;
 import org.apache.geronimo.transaction.manager.WrapperNamedXAResource;
 
 public class RecoverableConnectionPool extends XaConnectionPool {

Modified: aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaConnectionPool.java
URL: http://svn.apache.org/viewvc/aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaConnectionPool.java?rev=1695954&r1=1695953&r2=1695954&view=diff
==============================================================================
--- aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaConnectionPool.java (original)
+++ aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaConnectionPool.java Fri Aug 14 18:22:04 2015
@@ -28,8 +28,6 @@ import javax.transaction.SystemException
 import javax.transaction.TransactionManager;
 import javax.transaction.xa.XAResource;
 
-import org.apache.commons.pool.ObjectPoolFactory;
-
 /**
  * An XA-aware connection pool.  When a session is created and an xa transaction is active,
  * the session will automatically be enlisted in the current transaction.

Modified: aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaPooledConnectionFactory.java
URL: http://svn.apache.org/viewvc/aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaPooledConnectionFactory.java?rev=1695954&r1=1695953&r2=1695954&view=diff
==============================================================================
--- aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaPooledConnectionFactory.java (original)
+++ aries/trunk/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaPooledConnectionFactory.java Fri Aug 14 18:22:04 2015
@@ -20,14 +20,11 @@ import java.io.Serializable;
 import java.util.Hashtable;
 
 import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
 import javax.jms.JMSException;
 import javax.jms.QueueConnection;
 import javax.jms.QueueConnectionFactory;
 import javax.jms.TopicConnection;
 import javax.jms.TopicConnectionFactory;
-import javax.jms.XAConnection;
-import javax.jms.XAConnectionFactory;
 import javax.naming.Binding;
 import javax.naming.Context;
 import javax.naming.InitialContext;
@@ -47,6 +44,7 @@ import org.slf4j.LoggerFactory;
 public class XaPooledConnectionFactory extends PooledConnectionFactory implements ObjectFactory,
         Serializable, QueueConnectionFactory, TopicConnectionFactory {
 
+    private static final long serialVersionUID = -6538152448204064932L;
     private static final transient Logger LOG = LoggerFactory.getLogger(XaPooledConnectionFactory.class);
     private TransactionManager transactionManager;
     private boolean tmFromJndi = false;
@@ -90,10 +88,10 @@ public class XaPooledConnectionFactory e
             name = name.substring(0, name.lastIndexOf('/')) + "/conf" + name.substring(name.lastIndexOf('/'));
             try {
                 InitialContext ctx = new InitialContext();
-                NamingEnumeration bindings = ctx.listBindings(name);
+                NamingEnumeration<Binding> bindings = ctx.listBindings(name);
 
                 while (bindings.hasMore()) {
-                    Binding bd = (Binding)bindings.next();
+                    Binding bd = bindings.next();
                     IntrospectionSupport.setProperty(this, bd.getName(), bd.getObject());
                 }