User: schaefera
Date: 02/03/05 17:07:46
Modified: src/main/org/jboss/resource ConnectionFactoryLoader.java
ConnectionManagerFactoryLoader.java
RARDeployer.java
Log:
Added some new JSR-77 components written by Scott McLaughlin adding
JCA, JMS and ResourceAdaptor as JSR-77 components.
I also added a new test to see how XMBean and the newest version of
XDoclet can be used to generate the XMBeans as easiest as possible.
Revision Changes Path
1.23 +80 -26 jbosscx/src/main/org/jboss/resource/ConnectionFactoryLoader.java
Index: ConnectionFactoryLoader.java
===================================================================
RCS file:
/cvsroot/jboss/jbosscx/src/main/org/jboss/resource/ConnectionFactoryLoader.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- ConnectionFactoryLoader.java 24 Feb 2002 10:16:52 -0000 1.22
+++ ConnectionFactoryLoader.java 6 Mar 2002 01:07:45 -0000 1.23
@@ -51,6 +51,7 @@
import org.jboss.system.ServiceMBeanSupport;
import org.jboss.management.j2ee.JDBCDataSource;
+import org.jboss.management.j2ee.JMSResource;
import org.jboss.deployment.DeploymentException;
/**
@@ -67,7 +68,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">David Jencks</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Andreas Schaefer</a>
* @see RARDeployer
- * @version $Revision: 1.22 $ <p>
+ * @version $Revision: 1.23 $ <p>
*
* <b>Revisions:</b>
*
@@ -390,11 +391,40 @@
{
super.preDeregister();
- // Destroy JSR-77 EJB-Wrapper
- JDBCDataSource.destroy(
- getServer(),
- jndiName
- );
+ try {
+ java.util.Set lNames = getServer().queryNames(
+ new ObjectName( "*:type=JDBCDataSource,name=" + jndiName + ",*" ),
+ null
+ );
+ if( lNames.iterator().hasNext() ) {
+ // Destroy JSR-77 JDBCDataSource
+ JDBCDataSource.destroy(
+ getServer(),
+ jndiName
+ );
+ }
+ }
+ catch( Exception e ) {
+ e.printStackTrace();
+ }
+
+ try {
+ java.util.Set lNames = getServer().queryNames(
+ new ObjectName( "*:type=JMSResource,name=" + jndiName + ",*" ),
+ null
+ );
+ if( lNames.iterator().hasNext() ) {
+ // Destroy JSR-77 JDBCDataSource
+ JMSResource.destroy(
+ getServer(),
+ jndiName
+ );
+ }
+ }
+ catch( Exception e ) {
+ e.printStackTrace();
+ }
+
}
protected ObjectName getObjectName(MBeanServer server, ObjectName name)
@@ -432,26 +462,6 @@
} // end of if ()
loadConnectionFactory();
}
- //AS ToDo: The check if the JDBCDataSource is already created has to be
- //AS ToDO: removed when createService() is available
- try {
- java.util.Set lNames = getServer().queryNames(
- new ObjectName( "*:type=JDBCDataSource,name=" + jndiName + ",*" ),
- null
- );
- if( lNames.iterator().hasNext() ) {
- return;
- }
- }
- catch( Exception e ) {
- e.printStackTrace();
- }
- // Create JSR-77 EJB-Wrapper
- ObjectName lJDBCDataSource = JDBCDataSource.create(
- getServer(),
- jndiName,
- getServiceName()
- );
}
protected void stopService()
@@ -780,6 +790,50 @@
log.error("Unable to bind connection factory to JNDI name '" +
bindName + "'", ne);
throw new DeploymentException("Could not bind ConnectionFactory into JNDI!",
ne);
+ }
+
if(metaData.getManagedConnectionFactoryClass().endsWith("JDBCManagedConnectionFactory"))
+ {
+ try {
+ java.util.Set lNames = getServer().queryNames(
+ new ObjectName( "*:type=JDBCDataSource,name=" + jndiName + ",*" ),
+ null
+ );
+ if( lNames.iterator().hasNext() ) {
+ return;
+ }
+ }
+ catch( Exception e ) {
+ e.printStackTrace();
+ }
+ // Create JSR-77 JDBCDataSource MBean
+ ObjectName lJDBCDataSource = JDBCDataSource.create(
+ getServer(),
+ jndiName,
+ getServiceName()
+ );
+
+
+ }
+ else
if(metaData.getManagedConnectionFactoryClass().endsWith("JmsManagedConnectionFactory"))
+ {
+ try {
+ java.util.Set lNames = getServer().queryNames(
+ new ObjectName( "*:type=JMSResource,name=" + jndiName + ",*" ),
+ null
+ );
+ if( lNames.iterator().hasNext() ) {
+ return;
+ }
+ }
+ catch( Exception e ) {
+ e.printStackTrace();
+ }
+ // Create JSR-77 JMSResource MBean
+ ObjectName lJMSResource = JMSResource.create(
+ getServer(),
+ jndiName,
+ getServiceName()
+ );
}
}
1.11 +21 -1
jbosscx/src/main/org/jboss/resource/ConnectionManagerFactoryLoader.java
Index: ConnectionManagerFactoryLoader.java
===================================================================
RCS file:
/cvsroot/jboss/jbosscx/src/main/org/jboss/resource/ConnectionManagerFactoryLoader.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- ConnectionManagerFactoryLoader.java 5 Jan 2002 02:51:02 -0000 1.10
+++ ConnectionManagerFactoryLoader.java 6 Mar 2002 01:07:45 -0000 1.11
@@ -30,13 +30,16 @@
import org.jboss.logging.Logger;
import org.jboss.system.ServiceMBeanSupport;
+import org.jboss.management.j2ee.JCAConnectionFactory;
+import org.jboss.management.j2ee.JCAManagedConnectionFactory;
+
/**
* Binds a <code>ConnectionManagerFactory</code> instance into JNDI so that
* <code>ConnectionFactoryLoader</code> s can get at it.
*
* @author Toby Allsopp ([EMAIL PROTECTED])
* @author <a href="mailto:[EMAIL PROTECTED]">David Jencks</a>
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
*/
public class ConnectionManagerFactoryLoader
extends ServiceMBeanSupport
@@ -244,6 +247,19 @@
log.info("Connection manager factory '" + factoryName + " bound to " +
"'java:/" + factoryName + "'");
+
+ // Create JSR-77 JCAConnectionFactory MBean
+ ObjectName lJCAConnectionFactory = JCAConnectionFactory.create(
+ getServer(),
+ factoryName,
+ getServiceName()
+ );
+
+ JCAManagedConnectionFactory.create(
+ getServer(),
+ factoryClass,
+ lJCAConnectionFactory
+ );
}
/**
@@ -257,6 +273,10 @@
new InitialContext().unbind("java:/" + factoryName);
log.info("Connection manager factory '" + factoryName +
"' removed from JNDI");
+
+ // Destroy JSR-77 JCA ConnectionFactory MBeans
+ JCAManagedConnectionFactory.destroy(getServer(),factoryClass);
+ JCAConnectionFactory.destroy(getServer(),factoryName);
}
catch (NamingException e)
{
1.22 +30 -1 jbosscx/src/main/org/jboss/resource/RARDeployer.java
Index: RARDeployer.java
===================================================================
RCS file: /cvsroot/jboss/jbosscx/src/main/org/jboss/resource/RARDeployer.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- RARDeployer.java 22 Feb 2002 04:24:54 -0000 1.21
+++ RARDeployer.java 6 Mar 2002 01:07:45 -0000 1.22
@@ -52,7 +52,7 @@
*
* @author Toby Allsopp ([EMAIL PROTECTED])
* @author <a href="mailto:[EMAIL PROTECTED]">David Jencks</a>
- * @version $Revision: 1.21 $
+ * @version $Revision: 1.22 $
* @see org.jboss.resource.ConnectionFactoryLoader <p>
*
* <b>Revisions:</b> <p>
@@ -198,6 +198,24 @@
new String[] {"org.jboss.resource.RARMetaData"});
serviceController.create(rdi.deployedObject);
+
+ // Create JSR-77 EJB-Module
+ // If Parent is not set then this is a standalone Resource Adapter module
+ ObjectName lModule =
+ org.jboss.management.j2ee.ResourceAdapterModule.create(
+ server,
+ (rdi.parent == null)? null:rdi.parent.shortName,
+ rdi.shortName,
+ rdi.localUrl,
+ rdi.deployedObject
+ );
+
+ ObjectName lResourceAdaptor =
+ org.jboss.management.j2ee.ResourceAdapter.create(
+ server,
+ lModule.toString(),
+ metaData.getDisplayName()
+ );
}
catch (Exception e)
{
@@ -253,6 +271,17 @@
}
((RARMetaData) rdi.metaData).setClassLoader(null);
+
+ // Destroy the JSR77 Objects
+ org.jboss.management.j2ee.ResourceAdapter.destroy(
+ server,
+ ((RARMetaData)rdi.metaData).getDisplayName()
+ );
+
+ org.jboss.management.j2ee.ResourceAdapterModule.destroy(
+ server,
+ rdi.shortName
+ );
}
public void startService()
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development