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());
}