[jboss-cvs] JBossAS SVN: r110816 - in projects/jboss-jca/trunk: core/src/main/java/org/jboss/jca/core/spi/rar and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Mar 2 11:53:47 EST 2011
Author: jesper.pedersen
Date: 2011-03-02 11:53:47 -0500 (Wed, 02 Mar 2011)
New Revision: 110816
Modified:
projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/rar/SimpleResourceAdapterRepository.java
projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/spi/rar/ResourceAdapterRepository.java
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractDsDeployer.java
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/CommonDeployment.java
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/AbstractFungalDeployment.java
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/AbstractFungalRADeployer.java
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RAActivator.java
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RAActivatorDeployment.java
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployer.java
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployment.java
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RaXmlDeployer.java
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RaXmlDeployment.java
Log:
[JBJCA-503] Change signature for resource adapter registration
Modified: projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/rar/SimpleResourceAdapterRepository.java
===================================================================
--- projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/rar/SimpleResourceAdapterRepository.java 2011-03-02 14:26:11 UTC (rev 110815)
+++ projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/rar/SimpleResourceAdapterRepository.java 2011-03-02 16:53:47 UTC (rev 110816)
@@ -28,7 +28,6 @@
import org.jboss.jca.common.api.metadata.ra.ResourceAdapter1516;
import org.jboss.jca.common.api.metadata.ra.ra15.Activationspec15;
import org.jboss.jca.core.spi.mdr.MetadataRepository;
-import org.jboss.jca.core.spi.rar.AlreadyExistsException;
import org.jboss.jca.core.spi.rar.Endpoint;
import org.jboss.jca.core.spi.rar.NotFoundException;
import org.jboss.jca.core.spi.rar.ResourceAdapterRepository;
@@ -89,21 +88,11 @@
/**
* {@inheritDoc}
*/
- public synchronized void registerResourceAdapter(ResourceAdapter ra)
- throws AlreadyExistsException
+ public synchronized String registerResourceAdapter(ResourceAdapter ra)
{
if (ra == null)
throw new IllegalArgumentException("ResourceAdapter is null");
- for (WeakReference<ResourceAdapter> wr : rars.values())
- {
- if (wr.get() != null)
- {
- if (wr.get().equals(ra))
- throw new AlreadyExistsException(ra + " already registered");
- }
- }
-
String clzName = ra.getClass().getName();
AtomicInteger id = ids.get(clzName);
@@ -116,36 +105,21 @@
String key = clzName + "#" + id.incrementAndGet();
rars.put(key, new WeakReference<ResourceAdapter>(ra));
+
+ return key;
}
/**
* {@inheritDoc}
*/
- public synchronized void unregisterResourceAdapter(ResourceAdapter ra) throws NotFoundException
+ public synchronized void unregisterResourceAdapter(String key) throws NotFoundException
{
- if (ra == null)
- throw new IllegalArgumentException("ResourceAdapter is null");
-
- String key = null;
-
- Iterator<Map.Entry<String, WeakReference<ResourceAdapter>>> it = rars.entrySet().iterator();
- while (key == null && it.hasNext())
- {
- Map.Entry<String, WeakReference<ResourceAdapter>> entry = it.next();
-
- String k = entry.getKey();
- WeakReference<ResourceAdapter> wr = entry.getValue();
-
- if (wr.get() != null)
- {
- if (wr.get().equals(ra))
- key = k;
- }
- }
-
if (key == null)
- throw new NotFoundException(ra + " isn't registered");
+ throw new IllegalArgumentException("Key is null");
+ if (!rars.keySet().contains(key))
+ throw new NotFoundException(key + " isn't registered");
+
rars.remove(key);
}
Modified: projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/spi/rar/ResourceAdapterRepository.java
===================================================================
--- projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/spi/rar/ResourceAdapterRepository.java 2011-03-02 14:26:11 UTC (rev 110815)
+++ projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/spi/rar/ResourceAdapterRepository.java 2011-03-02 16:53:47 UTC (rev 110816)
@@ -37,16 +37,16 @@
/**
* Register a resource adapter
* @param ra The resource adapter instance
- * @exception AlreadyExistsException Thrown if the unique id is already registered
+ * @return The unique id for the resource adapter
*/
- public void registerResourceAdapter(ResourceAdapter ra) throws AlreadyExistsException;
+ public String registerResourceAdapter(ResourceAdapter ra);
/**
* Unregister a resource adapter
- * @param ra The resource adapter instance
+ * @param key The key for the resource adapter instance
* @exception NotFoundException Thrown if the unique id isn't registered
*/
- public void unregisterResourceAdapter(ResourceAdapter ra) throws NotFoundException;
+ public void unregisterResourceAdapter(String key) throws NotFoundException;
/**
* Get the resource adapters unique ids registered
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractDsDeployer.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractDsDeployer.java 2011-03-02 14:26:11 UTC (rev 110815)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractDsDeployer.java 2011-03-02 16:53:47 UTC (rev 110816)
@@ -220,7 +220,7 @@
log.error("Deployment of XA datasources disabled since jdbc-xa.rar couldn't be found");
}
- return new CommonDeployment(url, deploymentName, true, null, cfs.toArray(new Object[cfs.size()]),
+ return new CommonDeployment(url, deploymentName, true, null, null, cfs.toArray(new Object[cfs.size()]),
jndis.toArray(new String[jndis.size()]), null, null, null, parentClassLoader,
log);
}
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java 2011-03-02 14:26:11 UTC (rev 110815)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java 2011-03-02 16:53:47 UTC (rev 110816)
@@ -764,6 +764,7 @@
new org.jboss.jca.core.api.management.Connector(mgtUniqueId);
ResourceAdapter resourceAdapter = null;
+ String resourceAdapterKey = null;
List<Validate> archiveValidationObjects = new ArrayList<Validate>();
List<Object> beanValidationObjects = new ArrayList<Object>();
Object[] cfs = null;
@@ -1546,7 +1547,7 @@
startContext(resourceAdapter, bootstrapIdentifier);
// Register with ResourceAdapterRepository
- registerResourceAdapterToResourceAdapterRepository(resourceAdapter);
+ resourceAdapterKey = registerResourceAdapterToResourceAdapterRepository(resourceAdapter);
}
}
@@ -1559,7 +1560,9 @@
log.debug("Activated: " + url.toExternalForm());
}
- return new CommonDeployment(url, deploymentName, activateDeployment, resourceAdapter, cfs, cfJndiNames,
+ return new CommonDeployment(url, deploymentName, activateDeployment,
+ resourceAdapter, resourceAdapterKey,
+ cfs, cfJndiNames,
aos, aoJndiNames, mgtConnector, cl, log);
}
@@ -1669,10 +1672,9 @@
* Register the ResourceAdapter to the ResourceAdapterRepository. Implementer should provide the implementation
* to get repository and do the registration
* @param instance the instance
- * @throws org.jboss.jca.core.spi.rar.AlreadyExistsException AlreadyExistsException
+ * @return The key
*/
- protected abstract void registerResourceAdapterToResourceAdapterRepository(ResourceAdapter instance)
- throws org.jboss.jca.core.spi.rar.AlreadyExistsException;
+ protected abstract String registerResourceAdapterToResourceAdapterRepository(ResourceAdapter instance);
/**
*
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/CommonDeployment.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/CommonDeployment.java 2011-03-02 14:26:11 UTC (rev 110815)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/CommonDeployment.java 2011-03-02 16:53:47 UTC (rev 110816)
@@ -48,6 +48,8 @@
private final ResourceAdapter resourceAdapter;
+ private final String resourceAdapterKey;
+
private final Object[] cfs;
private final String[] cfJndiNames;
@@ -69,6 +71,7 @@
* @param deploymentName deploymentName
* @param activateDeployment activateDeployment
* @param resourceAdapter resourceAdapter
+ * @param resourceAdapterKey resourceAdapter key
* @param cfs The connection factories
* @param cfJndiNames The JNDI names for the connection factories
* @param aos The admin objects
@@ -78,7 +81,8 @@
* @param log log
*/
public CommonDeployment(URL url, String deploymentName, boolean activateDeployment,
- ResourceAdapter resourceAdapter, Object[] cfs, String[] cfJndiNames,
+ ResourceAdapter resourceAdapter, String resourceAdapterKey,
+ Object[] cfs, String[] cfJndiNames,
Object[] aos, String[] aoJndiNames,
Connector connector,
ClassLoader cl, Logger log)
@@ -88,6 +92,7 @@
this.deploymentName = deploymentName;
this.activateDeployment = activateDeployment;
this.resourceAdapter = resourceAdapter;
+ this.resourceAdapterKey = resourceAdapterKey;
this.cfs = cfs != null ? Arrays.copyOf(cfs, cfs.length) : null;
this.cfJndiNames = cfJndiNames != null ? Arrays.copyOf(cfJndiNames, cfJndiNames.length) : null;
this.aos = aos != null ? Arrays.copyOf(aos, aos.length) : null;
@@ -138,6 +143,15 @@
}
/**
+ * Get the resource adapter key
+ * @return The value
+ */
+ public final String getResourceAdapterKey()
+ {
+ return resourceAdapterKey;
+ }
+
+ /**
* Get the cfs.
*
* @return the cfs.
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/AbstractFungalDeployment.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/AbstractFungalDeployment.java 2011-03-02 14:26:11 UTC (rev 110815)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/AbstractFungalDeployment.java 2011-03-02 16:53:47 UTC (rev 110816)
@@ -62,6 +62,9 @@
/** The resource adapter instance */
protected ResourceAdapter ra;
+ /** The resource adapter instance key */
+ protected String raKey;
+
/** The JNDI strategy */
protected JndiStrategy jndiStrategy;
@@ -104,6 +107,7 @@
* @param deploymentName The deployment name
* @param activator Is this the activator of the deployment
* @param ra The resource adapter instance if present
+ * @param raKey The resource adapter instance key if present
* @param jndiStrategy The JNDI strategy
* @param metadataRepository The metadata repository
* @param resourceAdapterRepository The resource adapter repository
@@ -119,6 +123,7 @@
* @param log The logger
*/
public AbstractFungalDeployment(URL deployment, String deploymentName, boolean activator, ResourceAdapter ra,
+ String raKey,
JndiStrategy jndiStrategy, MetadataRepository metadataRepository,
ResourceAdapterRepository resourceAdapterRepository,
Object[] cfs, String[] cfJndis,
@@ -131,6 +136,7 @@
this.deploymentName = deploymentName;
this.activator = activator;
this.ra = ra;
+ this.raKey = raKey;
this.jndiStrategy = jndiStrategy;
this.mdr = metadataRepository;
this.rar = resourceAdapterRepository;
@@ -263,20 +269,20 @@
}
}
- if (ra != null)
+ if (raKey != null && rar != null)
{
- if (rar != null)
+ try
{
- try
- {
- rar.unregisterResourceAdapter(ra);
- }
- catch (org.jboss.jca.core.spi.rar.NotFoundException nfe)
- {
- log.warn("Exception during unregistering deployment", nfe);
- }
+ rar.unregisterResourceAdapter(raKey);
}
+ catch (org.jboss.jca.core.spi.rar.NotFoundException nfe)
+ {
+ log.warn("Exception during unregistering deployment", nfe);
+ }
+ }
+ if (ra != null)
+ {
ra.stop();
ra = null;
}
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/AbstractFungalRADeployer.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/AbstractFungalRADeployer.java 2011-03-02 14:26:11 UTC (rev 110815)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/AbstractFungalRADeployer.java 2011-03-02 16:53:47 UTC (rev 110816)
@@ -281,10 +281,9 @@
}
@Override
- protected void registerResourceAdapterToResourceAdapterRepository(ResourceAdapter instance)
- throws org.jboss.jca.core.spi.rar.AlreadyExistsException
+ protected String registerResourceAdapterToResourceAdapterRepository(ResourceAdapter instance)
{
- ((RAConfiguration) getConfiguration()).getResourceAdapterRepository().
+ return ((RAConfiguration) getConfiguration()).getResourceAdapterRepository().
registerResourceAdapter(instance);
}
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RAActivator.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RAActivator.java 2011-03-02 14:26:11 UTC (rev 110815)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RAActivator.java 2011-03-02 16:53:47 UTC (rev 110816)
@@ -270,8 +270,9 @@
ResourceAdapterRepository resourceAdapterRepository =
((RAConfiguration) getConfiguration()).getResourceAdapterRepository();
- return new RAActivatorDeployment(c.getURL(), c.getDeploymentName(), c.getResourceAdapter(), jndiStrategy,
- metadataRepository, resourceAdapterRepository,
+ return new RAActivatorDeployment(c.getURL(), c.getDeploymentName(), c.getResourceAdapter(),
+ c.getResourceAdapterKey(),
+ jndiStrategy, metadataRepository, resourceAdapterRepository,
c.getCfs(), c.getCfJndiNames(),
c.getAos(), c.getAoJndiNames(),
((RAConfiguration)getConfiguration()).getManagementRepository(),
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RAActivatorDeployment.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RAActivatorDeployment.java 2011-03-02 14:26:11 UTC (rev 110815)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RAActivatorDeployment.java 2011-03-02 16:53:47 UTC (rev 110816)
@@ -48,6 +48,7 @@
* @param deployment The deployment
* @param deploymentName The deployment name
* @param ra The resource adapter instance if present
+ * @param raKey The resource adapter instance key if present
* @param jndiStrategy The JNDI strategy
* @param mdr The metadata repository
* @param resourceAdapterRepository The resource adapter repository
@@ -62,7 +63,8 @@
* @param cl The classloader for the deployment
* @param log The logger
*/
- public RAActivatorDeployment(URL deployment, String deploymentName, ResourceAdapter ra, JndiStrategy jndiStrategy,
+ public RAActivatorDeployment(URL deployment, String deploymentName, ResourceAdapter ra, String raKey,
+ JndiStrategy jndiStrategy,
MetadataRepository mdr, ResourceAdapterRepository resourceAdapterRepository,
Object[] cfs, String[] cfJndis,
Object[] aos, String[] aoJndis,
@@ -70,7 +72,7 @@
MBeanServer server, List<ObjectName> objectNames,
ClassLoader cl, Logger log)
{
- super(deployment, deploymentName, true, ra, jndiStrategy, mdr, resourceAdapterRepository,
+ super(deployment, deploymentName, true, ra, raKey, jndiStrategy, mdr, resourceAdapterRepository,
cfs, cfJndis, aos, aoJndis, managementRepository, connector, server, objectNames, cl, log);
}
}
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployer.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployer.java 2011-03-02 14:26:11 UTC (rev 110815)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployer.java 2011-03-02 16:53:47 UTC (rev 110816)
@@ -169,6 +169,7 @@
((RAConfiguration) getConfiguration()).getResourceAdapterRepository();
return new RADeployment(c.getURL(), c.getDeploymentName(), c.isActivateDeployment(), c.getResourceAdapter(),
+ c.getResourceAdapterKey(),
jndiStrategy, metadataRepository, resourceAdapterRepository,
c.getCfs(), c.getCfJndiNames(),
c.getAos(), c.getAoJndiNames(), destination,
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployment.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployment.java 2011-03-02 14:26:11 UTC (rev 110815)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RADeployment.java 2011-03-02 16:53:47 UTC (rev 110816)
@@ -56,6 +56,7 @@
* @param deploymentName The deployment name
* @param activator Is this the activator of the deployment
* @param ra The resource adapter instance if present
+ * @param raKey The resource adapter instance key if present
* @param jndiStrategy The JNDI strategy
* @param mdr The metadata repository
* @param resourceAdapterRepository The resource adapter repository
@@ -72,6 +73,7 @@
* @param log The logger
*/
public RADeployment(URL deployment, String deploymentName, boolean activator, ResourceAdapter ra,
+ String raKey,
JndiStrategy jndiStrategy, MetadataRepository mdr,
ResourceAdapterRepository resourceAdapterRepository,
Object[] cfs, String[] cfJndis,
@@ -81,7 +83,7 @@
MBeanServer server, List<ObjectName> objectNames,
ClassLoader cl, Logger log)
{
- super(deployment, deploymentName, activator, ra, jndiStrategy, mdr, resourceAdapterRepository,
+ super(deployment, deploymentName, activator, ra, raKey, jndiStrategy, mdr, resourceAdapterRepository,
cfs, cfJndis, aos, aoJndis, managementRepository, connector, server, objectNames, cl, log);
this.tmpDirectory = tmpDirectory;
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RaXmlDeployer.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RaXmlDeployer.java 2011-03-02 14:26:11 UTC (rev 110815)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RaXmlDeployer.java 2011-03-02 16:53:47 UTC (rev 110816)
@@ -283,6 +283,7 @@
((RAConfiguration) getConfiguration()).getResourceAdapterRepository();
return new RaXmlDeployment(c.getURL(), deployment, c.getDeploymentName(), c.getResourceAdapter(),
+ c.getResourceAdapterKey(),
jndiStrategy, metadataRepository, resourceAdapterRepository,
c.getCfs(), c.getCfJndiNames(),
c.getAos(), c.getAoJndiNames(),
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RaXmlDeployment.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RaXmlDeployment.java 2011-03-02 14:26:11 UTC (rev 110815)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/RaXmlDeployment.java 2011-03-02 16:53:47 UTC (rev 110816)
@@ -53,6 +53,7 @@
* @param raDeployment The resource adapter deployment
* @param deploymentName The deployment name
* @param ra The resource adapter instance if present
+ * @param raKey The resource adapter instance key if present
* @param jndiStrategy The JNDI strategy
* @param mdr The metadata repository
* @param resourceAdapterRepository The resource adapter repository
@@ -68,6 +69,7 @@
* @param log The logger
*/
public RaXmlDeployment(URL deployment, URL raDeployment, String deploymentName, ResourceAdapter ra,
+ String raKey,
JndiStrategy jndiStrategy, MetadataRepository mdr,
ResourceAdapterRepository resourceAdapterRepository,
Object[] cfs, String[] cfJndis,
@@ -76,7 +78,7 @@
MBeanServer server, List<ObjectName> objectNames,
ClassLoader cl, Logger log)
{
- super(deployment, deploymentName, true, ra, jndiStrategy, mdr, resourceAdapterRepository,
+ super(deployment, deploymentName, true, ra, raKey, jndiStrategy, mdr, resourceAdapterRepository,
cfs, cfJndis, aos, aoJndis, managementRepository, connector, server, objectNames, cl, log);
this.raDeployment = raDeployment;
More information about the jboss-cvs-commits
mailing list