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

Reply via email to