[jboss-cvs] JBossAS SVN: r60749 - in trunk/profileservice/src/main/org/jboss/profileservice: management/builders and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Feb 21 00:48:22 EST 2007
Author: scott.stark at jboss.org
Date: 2007-02-21 00:48:22 -0500 (Wed, 21 Feb 2007)
New Revision: 60749
Modified:
trunk/profileservice/src/main/org/jboss/profileservice/management/ComponentTypeOverridesVisitor.java
trunk/profileservice/src/main/org/jboss/profileservice/management/builders/ConnectionFactoryDeployerManagedObjectBuilder.java
trunk/profileservice/src/main/org/jboss/profileservice/management/builders/DomDataSourceManagedObject.java
trunk/profileservice/src/main/org/jboss/profileservice/remoting/ProxyFactory.java
Log:
Update the fake datasource type to FakeDataSource and add a DataSource type based on the connmgr mbean keys
Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/ComponentTypeOverridesVisitor.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/ComponentTypeOverridesVisitor.java 2007-02-21 05:15:52 UTC (rev 60748)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/ComponentTypeOverridesVisitor.java 2007-02-21 05:48:22 UTC (rev 60749)
@@ -21,21 +21,18 @@
*/
package org.jboss.profileservice.management;
-import java.util.Set;
-
-import javax.management.ObjectName;
-
import org.jboss.deployers.spi.deployer.DeploymentUnit;
import org.jboss.deployers.spi.management.ComponentType;
import org.jboss.deployers.spi.management.ComponentTypeVisitor;
-import org.jboss.deployers.spi.structure.DeploymentContext;
import org.jboss.logging.Logger;
import org.jboss.system.metadata.ServiceMetaData;
/**
+ * A ComponentTypeVisitor installed into DeployerAspects to allow for
+ * a pluggable override of the ComponentType of a deployment.
*
* @author Scott.Stark at jboss.org
- * @version $Revision:$
+ * @version $Revision$
*/
public class ComponentTypeOverridesVisitor
implements ComponentTypeVisitor
@@ -57,6 +54,8 @@
{
ComponentType type = checkDataSource(ctx);
if( type == null )
+ type = checkFakeDataSource(ctx);
+ if( type == null )
type = checkJmsDestination(ctx);
return type;
}
@@ -68,8 +67,28 @@
if( smd != null )
{
String code = smd.getCode();
+ if( code.startsWith("org.jboss.resource.connectionmanager") )
+ {
+ String keys = smd.getObjectName().getKeyPropertyListString();
+ if( keys.startsWith("service=NoTxCM"))
+ type = new ComponentType("DataSource", "NoTx");
+ else if( keys.startsWith("service=LocalTxCM"))
+ type = new ComponentType("DataSource", "LocalTx");
+ else if( keys.startsWith("service=XATxCM"))
+ type = new ComponentType("DataSource", "XATx");
+ }
+ }
+ return type;
+ }
+ protected ComponentType checkFakeDataSource(DeploymentUnit ctx)
+ {
+ ComponentType type = null;
+ ServiceMetaData smd = ctx.getAttachment(ServiceMetaData.class);
+ if( smd != null )
+ {
+ String code = smd.getCode();
if( code.indexOf("FakeDataSourceConn") > 0 )
- type = new ComponentType("DataSource", "LocalTx");
+ type = new ComponentType("FakeDataSource", "LocalTx");
}
return type;
}
Property changes on: trunk/profileservice/src/main/org/jboss/profileservice/management/ComponentTypeOverridesVisitor.java
___________________________________________________________________
Name: svn:keywords
- Id,Revision
+ Id Revision
Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/builders/ConnectionFactoryDeployerManagedObjectBuilder.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/builders/ConnectionFactoryDeployerManagedObjectBuilder.java 2007-02-21 05:15:52 UTC (rev 60748)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/builders/ConnectionFactoryDeployerManagedObjectBuilder.java 2007-02-21 05:48:22 UTC (rev 60749)
@@ -21,26 +21,15 @@
*/
package org.jboss.profileservice.management.builders;
-import java.util.HashSet;
-import java.util.List;
import java.util.Map;
-import java.util.Set;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.deployer.DeploymentUnit;
import org.jboss.deployers.spi.managed.ManagedObjectBuilder;
-import org.jboss.deployers.spi.structure.DeploymentContext;
import org.jboss.logging.Logger;
-import org.jboss.managed.api.Fields;
import org.jboss.managed.api.ManagedObject;
-import org.jboss.managed.api.ManagedProperty;
-import org.jboss.managed.plugins.DefaultFieldsImpl;
-import org.jboss.managed.plugins.ManagedObjectImpl;
-import org.jboss.managed.plugins.ManagedPropertyImpl;
import org.jboss.managed.plugins.advice.WrapperAdvice;
-import org.jboss.metatype.api.types.SimpleMetaType;
import org.jboss.system.metadata.ServiceDeployment;
-import org.jboss.system.metadata.ServiceMetaData;
/**
* A ManagedObjectBuilder for use as an override to the ConnectionFactoryDeployer
Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/builders/DomDataSourceManagedObject.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/builders/DomDataSourceManagedObject.java 2007-02-21 05:15:52 UTC (rev 60748)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/builders/DomDataSourceManagedObject.java 2007-02-21 05:48:22 UTC (rev 60749)
@@ -21,6 +21,7 @@
*/
package org.jboss.profileservice.management.builders;
+import java.util.HashSet;
import java.util.Set;
import javax.xml.parsers.DocumentBuilder;
@@ -31,12 +32,16 @@
import org.jboss.managed.plugins.ManagedObjectImpl;
import org.jboss.managed.plugins.ManagedPropertyImpl;
import org.jboss.metatype.api.types.SimpleMetaType;
+import org.jboss.metatype.api.values.MetaValue;
+import org.jboss.metatype.api.values.SimpleValueSupport;
import org.jboss.util.xml.DOMWriter;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
/**
+ * A ManagedObject impl that manages a jaxp Document attachment.
+ *
* @author Scott.Stark at jboss.org
* @version $Revision:$
*/
@@ -49,7 +54,7 @@
private Document document;
/**
- * MockDataSourceManaged ctor
+ * DomDataSourceManagedObject ctor
*/
public DomDataSourceManagedObject(String attachmentName)
{
@@ -62,7 +67,7 @@
DOMImplementation impl = builder.getDOMImplementation();
document = impl.createDocument(null, null, null);
- element = document.createElement("data-source");
+ element = document.createElement("datasources");
document.appendChild(element);
}
catch (RuntimeException e)
@@ -75,37 +80,76 @@
}
Set<ManagedProperty> properties = getProperties();
+ // The datasource-type
+ DomFields dsType = new DomFields(element, "datasource-type");
+ dsType.setField(Fields.DESCRIPTION, "The type of DataSource");
+ dsType.setField(Fields.MANDATORY, Boolean.TRUE);
+ dsType.setField(Fields.META_TYPE, SimpleMetaType.STRING);
+ HashSet<MetaValue> values = new HashSet<MetaValue>();
+ values.add(SimpleValueSupport.wrap("local-tx-datasource"));
+ values.add(SimpleValueSupport.wrap("no-tx-datasource"));
+ values.add(SimpleValueSupport.wrap("xa-datasource"));
+ dsType.setLegalValues(values);
+
// The jndi name field info
DomFields jndiName = new DomFields(element, "jndi-name");
jndiName.setField(Fields.DESCRIPTION, "The jndi name to bind the DataSource under");
jndiName.setField(Fields.MANDATORY, Boolean.TRUE);
jndiName.setField(Fields.META_TYPE, SimpleMetaType.STRING);
+ // The driver-class field info
+ DomFields driverClass = new DomFields(element, "driver-class");
+ driverClass.setField(Fields.DESCRIPTION, "The jdbc driver class DataSource");
+ driverClass.setField(Fields.MANDATORY, Boolean.TRUE);
+ driverClass.setField(Fields.META_TYPE, SimpleMetaType.STRING);
// The connection-url field info
DomFields connURL = new DomFields(element, "connection-url");
- jndiName.setField(Fields.DESCRIPTION, "The jdbc url of the DataSource");
- jndiName.setField(Fields.MANDATORY, Boolean.TRUE);
- jndiName.setField(Fields.META_TYPE, SimpleMetaType.STRING);
+ connURL.setField(Fields.DESCRIPTION, "The jdbc url of the DataSource");
+ connURL.setField(Fields.MANDATORY, Boolean.TRUE);
+ connURL.setField(Fields.META_TYPE, SimpleMetaType.STRING);
// The user field info
DomFields user = new DomFields(element, "user-name");
- jndiName.setField(Fields.DESCRIPTION, "The username for the connection-url");
- jndiName.setField(Fields.MANDATORY, Boolean.FALSE);
- jndiName.setField(Fields.META_TYPE, SimpleMetaType.STRING);
+ user.setField(Fields.DESCRIPTION, "The username for the connection-url");
+ user.setField(Fields.MANDATORY, Boolean.FALSE);
+ user.setField(Fields.META_TYPE, SimpleMetaType.STRING);
// The user field info
DomFields password = new DomFields(element, "password");
- jndiName.setField(Fields.DESCRIPTION, "The password for the connection-url");
- jndiName.setField(Fields.MANDATORY, Boolean.FALSE);
- jndiName.setField(Fields.META_TYPE, SimpleMetaType.STRING);
+ password.setField(Fields.DESCRIPTION, "The password for the connection-url");
+ password.setField(Fields.MANDATORY, Boolean.FALSE);
+ password.setField(Fields.META_TYPE, SimpleMetaType.STRING);
+ // The min-pool-size field info
+ DomFields minPoolSize = new DomFields(element, "min-pool-size");
+ password.setField(Fields.DESCRIPTION, "The min pool size");
+ password.setField(Fields.MANDATORY, Boolean.FALSE);
+ password.setField(Fields.META_TYPE, SimpleMetaType.INTEGER);
+ // The max-pool-size field info
+ DomFields maxPoolSize = new DomFields(element, "max-pool-size");
+ password.setField(Fields.DESCRIPTION, "The max pool size");
+ password.setField(Fields.MANDATORY, Boolean.FALSE);
+ password.setField(Fields.META_TYPE, SimpleMetaType.INTEGER);
+
// The security-domain field info
DomFields secDomain = new DomFields(element, "security-domain");
- jndiName.setField(Fields.DESCRIPTION, "The security-domain used to validate connections");
- jndiName.setField(Fields.MANDATORY, Boolean.FALSE);
- jndiName.setField(Fields.META_TYPE, SimpleMetaType.STRING);
+ secDomain.setField(Fields.DESCRIPTION, "The security-domain used to validate connections");
+ secDomain.setField(Fields.MANDATORY, Boolean.FALSE);
+ secDomain.setField(Fields.META_TYPE, SimpleMetaType.STRING);
+ // prepared-statement-cache-size
+ DomFields psCacheSize = new DomFields(element, "prepared-statement-cache-size");
+ secDomain.setField(Fields.DESCRIPTION, "The prepared statement cache size");
+ secDomain.setField(Fields.MANDATORY, Boolean.FALSE);
+ secDomain.setField(Fields.META_TYPE, SimpleMetaType.INTEGER);
+
+ properties.add(new ManagedPropertyImpl(this, dsType));
properties.add(new ManagedPropertyImpl(this, jndiName));
+ properties.add(new ManagedPropertyImpl(this, driverClass));
properties.add(new ManagedPropertyImpl(this, connURL));
properties.add(new ManagedPropertyImpl(this, user));
properties.add(new ManagedPropertyImpl(this, password));
+ properties.add(new ManagedPropertyImpl(this, minPoolSize));
+ properties.add(new ManagedPropertyImpl(this, maxPoolSize));
properties.add(new ManagedPropertyImpl(this, secDomain));
+ properties.add(new ManagedPropertyImpl(this, psCacheSize));
+
}
public String prettyPrint()
Modified: trunk/profileservice/src/main/org/jboss/profileservice/remoting/ProxyFactory.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/remoting/ProxyFactory.java 2007-02-21 05:15:52 UTC (rev 60748)
+++ trunk/profileservice/src/main/org/jboss/profileservice/remoting/ProxyFactory.java 2007-02-21 05:48:22 UTC (rev 60749)
@@ -33,6 +33,7 @@
import org.jboss.aspects.remoting.Remoting;
import org.jboss.aspects.security.SecurityClientInterceptor;
import org.jboss.deployers.spi.management.ManagementView;
+import org.jboss.logging.Logger;
import org.jboss.profileservice.spi.ProfileService;
import org.jboss.remoting.InvokerLocator;
import org.jboss.util.naming.Util;
@@ -46,6 +47,7 @@
*/
public class ProxyFactory
{
+ private static final Logger log = Logger.getLogger(ProxyFactory.class);
private String dispatchName = "ProfileService";
private String jndiName = "ProfileService";
private InvokerLocator locator;
@@ -138,6 +140,7 @@
Dispatcher.singleton.registerTarget(mvDispatchName, mgtView);
mgtViewProxy = Remoting.createRemoteProxy(mvDispatchName, loader, mvIfaces, locator,
interceptors, "ProfileService");
+ log.debug("Bound ProfileService proxy");
}
public void stop()
@@ -149,5 +152,6 @@
Dispatcher.singleton.unregisterTarget(mvDispatchName);
InitialContext ctx = new InitialContext();
Util.unbind(ctx, jndiName);
+ log.debug("Unbound ProfileService proxy");
}
}
More information about the jboss-cvs-commits
mailing list