[jboss-cvs] JBossAS SVN: r111037 - in projects/jboss-jca/trunk: deployers/src/main/java/org/jboss/jca/deployers/common and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Mar 25 13:42:30 EDT 2011
Author: jesper.pedersen
Date: 2011-03-25 13:42:28 -0400 (Fri, 25 Mar 2011)
New Revision: 111037
Modified:
projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/management/DataSource.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/DsXmlDeployer.java
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/DsXmlDeployment.java
Log:
[JBJCA-534] Remove datasources from management view on undeploy
Modified: projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/management/DataSource.java
===================================================================
--- projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/management/DataSource.java 2011-03-25 15:40:08 UTC (rev 111036)
+++ projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/management/DataSource.java 2011-03-25 17:42:28 UTC (rev 111037)
@@ -33,8 +33,7 @@
* @author <a href="mailto:jeff.zhang at jboss.org">Jeff Zhang</a>
*/
public class DataSource
-{
-
+{
/** xa datasource or not */
private boolean xa;
@@ -49,19 +48,15 @@
/**
* Constructor
- *
* @param xa datasource is xa or not
- * @param jndiName jndi name
*/
- public DataSource(boolean xa, String jndiName)
+ public DataSource(boolean xa)
{
this.xa = xa;
- this.jndiName = jndiName;
}
/**
* xa datasource
- *
* @return true if it xa datasource
*/
public boolean isXA()
@@ -128,6 +123,15 @@
}
/**
+ * Set the jndiName.
+ * @param v The value
+ */
+ public void setJndiName(String v)
+ {
+ this.jndiName = v;
+ }
+
+ /**
* String representation
* @return The string
*/
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-25 15:40:08 UTC (rev 111036)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractDsDeployer.java 2011-03-25 17:42:28 UTC (rev 111037)
@@ -182,6 +182,8 @@
List<Object> cfs = new ArrayList<Object>(1);
List<String> jndis = new ArrayList<String>(1);
List<XAResourceRecovery> recoveryModules = new ArrayList<XAResourceRecovery>(1);
+ List<org.jboss.jca.core.api.management.DataSource> mgts =
+ new ArrayList<org.jboss.jca.core.api.management.DataSource>(1);
if (uniqueJdbcLocalId != null)
{
@@ -202,12 +204,16 @@
jndiName = "java:/" + jndiName;
}
- Object cf = deployDataSource(dataSource, jndiName, uniqueJdbcLocalId, jdbcLocalDeploymentCl);
+ org.jboss.jca.core.api.management.DataSource mgtDataSource =
+ new org.jboss.jca.core.api.management.DataSource(false);
+ Object cf = deployDataSource(dataSource, jndiName,
+ uniqueJdbcLocalId, mgtDataSource, jdbcLocalDeploymentCl);
bindConnectionFactory(deploymentName, jndiName, cf);
cfs.add(cf);
jndis.add(jndiName);
+ mgts.add(mgtDataSource);
}
catch (Throwable t)
{
@@ -241,10 +247,13 @@
jndiName = "java:/" + jndiName;
}
+ org.jboss.jca.core.api.management.DataSource mgtDataSource =
+ new org.jboss.jca.core.api.management.DataSource(true);
XAResourceRecovery recovery = null;
Object cf = deployXADataSource(xaDataSource,
jndiName, uniqueJdbcXAId,
recovery,
+ mgtDataSource,
jdbcXADeploymentCl);
recoveryModules.add(recovery);
@@ -253,6 +262,7 @@
cfs.add(cf);
jndis.add(jndiName);
+ mgts.add(mgtDataSource);
}
catch (Throwable t)
{
@@ -271,8 +281,9 @@
jndis.toArray(new String[jndis.size()]),
null, null,
recoveryModules.toArray(new XAResourceRecovery[recoveryModules.size()]),
- null, parentClassLoader,
- log);
+ null,
+ mgts.toArray(new org.jboss.jca.core.api.management.DataSource[mgts.size()]),
+ parentClassLoader, log);
}
catch (Throwable t)
{
@@ -285,11 +296,13 @@
* @param ds The datasource
* @param jndiName The JNDI name
* @param uniqueId The unique id for the resource adapter
+ * @param mgtDs The management of a datasource
* @param cl The class loader
* @return The connection factory
* @exception Throwable Thrown if an error occurs during deployment
*/
- private Object deployDataSource(DataSource ds, String jndiName, String uniqueId, ClassLoader cl) throws Throwable
+ private Object deployDataSource(DataSource ds, String jndiName, String uniqueId,
+ org.jboss.jca.core.api.management.DataSource mgtDs, ClassLoader cl) throws Throwable
{
log.debug("DataSource=" + ds);
@@ -342,11 +355,11 @@
allocationRetryWaitMillis = ds.getTimeOut().getAllocationRetryWaitMillis();
}
- //register data sources
- org.jboss.jca.core.api.management.DataSource mgtDs =
- new org.jboss.jca.core.api.management.DataSource(false, jndiName);
+ // Register data sources
+ mgtDs.setJndiName(jndiName);
mgtDs.setPoolConfiguration(pc);
mgtDs.setPool(pool);
+
log.debugf("Adding management datasource: %s", mgtDs);
getManagementRepository().getDataSources().add(mgtDs);
@@ -417,12 +430,14 @@
* @param jndiName The JNDI name
* @param uniqueId The unique id for the resource adapter
* @param recovery The recovery module
+ * @param mgtDs The management of a datasource
* @param cl The class loader
* @return The connection factory
* @exception Throwable Thrown if an error occurs during deployment
*/
private Object deployXADataSource(XaDataSource ds, String jndiName, String uniqueId,
- XAResourceRecovery recovery, ClassLoader cl)
+ XAResourceRecovery recovery,
+ org.jboss.jca.core.api.management.DataSource mgtDs, ClassLoader cl)
throws Throwable
{
log.debug("XaDataSource=" + ds);
@@ -494,11 +509,11 @@
padXid = ds.getXaPool().isPadXid();
}
- //register data sources
- org.jboss.jca.core.api.management.DataSource mgtDs =
- new org.jboss.jca.core.api.management.DataSource(true, jndiName);
+ // Register data sources
+ mgtDs.setJndiName(jndiName);
mgtDs.setPoolConfiguration(pc);
mgtDs.setPool(pool);
+
log.debugf("Adding management datasource: %s", mgtDs);
getManagementRepository().getDataSources().add(mgtDs);
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-25 15:40:08 UTC (rev 111036)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java 2011-03-25 17:42:28 UTC (rev 111037)
@@ -1715,7 +1715,7 @@
cfs, cfJndiNames,
aos, aoJndiNames,
recoveryModules.toArray(new XAResourceRecovery[recoveryModules.size()]),
- mgtConnector, cl, log);
+ mgtConnector, null, cl, log);
}
catch (DeployException de)
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-25 15:40:08 UTC (rev 111036)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/CommonDeployment.java 2011-03-25 17:42:28 UTC (rev 111037)
@@ -22,6 +22,7 @@
package org.jboss.jca.deployers.common;
import org.jboss.jca.core.api.management.Connector;
+import org.jboss.jca.core.api.management.DataSource;
import org.jboss.jca.core.spi.transaction.recovery.XAResourceRecovery;
import java.net.URL;
@@ -63,6 +64,8 @@
private final Connector connector;
+ private final DataSource[] dataSources;
+
private final ClassLoader cl;
private final Logger log;
@@ -81,6 +84,7 @@
* @param aoJndiNames The JNDI names for the admin objects
* @param recoveryModules The recovery modules
* @param connector The management view of a connector
+ * @param dataSources The management view of datasources
* @param cl cl
* @param log log
*/
@@ -89,7 +93,7 @@
Object[] cfs, String[] cfJndiNames,
Object[] aos, String[] aoJndiNames,
XAResourceRecovery[] recoveryModules,
- Connector connector,
+ Connector connector, DataSource[] dataSources,
ClassLoader cl, Logger log)
{
super();
@@ -104,6 +108,7 @@
this.aoJndiNames = aoJndiNames != null ? Arrays.copyOf(aoJndiNames, aoJndiNames.length) : null;
this.recoveryModules = recoveryModules;
this.connector = connector;
+ this.dataSources = dataSources;
this.cl = cl;
this.log = log;
}
@@ -206,7 +211,7 @@
return recoveryModules;
}
- /**
+ /**
* Get the management view of the connector
* @return The value
*/
@@ -216,6 +221,15 @@
}
/**
+ * Get the management view of the datasources
+ * @return The value
+ */
+ public final DataSource[] getDataSources()
+ {
+ return dataSources;
+ }
+
+ /**
* Get the cl.
*
* @return the cl.
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/DsXmlDeployer.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/DsXmlDeployer.java 2011-03-25 15:40:08 UTC (rev 111036)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/DsXmlDeployer.java 2011-03-25 17:42:28 UTC (rev 111037)
@@ -184,6 +184,7 @@
return new DsXmlDeployment(c.getURL(), c.getDeploymentName(),
c.getCfs(), c.getCfJndiNames(),
c.getRecovery(), getXAResourceRecoveryRegistry(),
+ c.getDataSources(), getManagementRepository(),
c.getCl());
}
catch (DeployException de)
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/DsXmlDeployment.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/DsXmlDeployment.java 2011-03-25 15:40:08 UTC (rev 111036)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/DsXmlDeployment.java 2011-03-25 17:42:28 UTC (rev 111037)
@@ -22,6 +22,8 @@
package org.jboss.jca.deployers.fungal;
+import org.jboss.jca.core.api.management.DataSource;
+import org.jboss.jca.core.api.management.ManagementRepository;
import org.jboss.jca.core.naming.ExplicitJndiStrategy;
import org.jboss.jca.core.spi.naming.JndiStrategy;
import org.jboss.jca.core.spi.transaction.recovery.XAResourceRecovery;
@@ -62,6 +64,12 @@
/** XAResource recovery registry */
private XAResourceRecoveryRegistry recoveryRegistry;
+ /** The data source management view */
+ private DataSource[] dataSources;
+
+ /** The management repository */
+ private ManagementRepository managementRepository;
+
/** The classloader */
private ClassLoader cl;
@@ -73,12 +81,15 @@
* @param jndis The JNDI names for the factories
* @param recoveryModules The recovery modules
* @param recoveryRegistry The recovery registry
+ * @param dataSources The management view of the datasources
+ * @param managementRepository The management repository
* @param cl The classloader
*/
public DsXmlDeployment(URL deployment,
String deploymentName,
Object[] cfs, String[] jndis,
XAResourceRecovery[] recoveryModules, XAResourceRecoveryRegistry recoveryRegistry,
+ DataSource[] dataSources, ManagementRepository managementRepository,
ClassLoader cl)
{
this.deployment = deployment;
@@ -87,6 +98,8 @@
this.jndis = jndis;
this.recoveryModules = recoveryModules;
this.recoveryRegistry = recoveryRegistry;
+ this.dataSources = dataSources;
+ this.managementRepository = managementRepository;
this.cl = cl;
}
@@ -117,6 +130,14 @@
{
log.debug("Undeploying: " + deployment.toExternalForm());
+ if (dataSources != null && managementRepository != null)
+ {
+ for (DataSource mgtDs : dataSources)
+ {
+ managementRepository.getDataSources().remove(mgtDs);
+ }
+ }
+
if (recoveryModules != null && recoveryRegistry != null)
{
for (XAResourceRecovery recovery : recoveryModules)
More information about the jboss-cvs-commits
mailing list