[jboss-cvs] JBossAS SVN: r111117 - in projects/jboss-jca/trunk: deployers/src/main/java/org/jboss/jca/deployers/common and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Apr 7 11:09:08 EDT 2011


Author: jesper.pedersen
Date: 2011-04-07 11:09:07 -0400 (Thu, 07 Apr 2011)
New Revision: 111117

Modified:
   projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/management/ConnectionFactory.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/fungal/AbstractFungalRADeployer.java
   projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/McfResourceComponent.java
   projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/XATestCase.java
Log:
[JBJCA-542] Statistics support (Part 5)

Modified: projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/management/ConnectionFactory.java
===================================================================
--- projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/management/ConnectionFactory.java	2011-04-07 14:16:15 UTC (rev 111116)
+++ projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/management/ConnectionFactory.java	2011-04-07 15:09:07 UTC (rev 111117)
@@ -34,6 +34,9 @@
  */
 public class ConnectionFactory
 {
+   /** The connection factory */
+   private WeakReference<Object> connectionFactory;
+
    /** The managed connection factory */
    private ManagedConnectionFactory managedConnectionFactory;
 
@@ -48,23 +51,37 @@
    
    /**
     * Constructor
+    * @param cf The connection factory
     * @param mcf The managed connection factory instance
     */
-   public ConnectionFactory(javax.resource.spi.ManagedConnectionFactory mcf)
+   public ConnectionFactory(Object cf, javax.resource.spi.ManagedConnectionFactory mcf)
    {
+      this.connectionFactory = new WeakReference<Object>(cf);
       this.managedConnectionFactory = new ManagedConnectionFactory(mcf);
       this.pool = null;
       this.poolConfiguration = null;
    }
 
    /**
+    * Get the connection factory instance.
+    * 
+    * Note, that the value may be <code>null</code> if the connection factory was
+    * undeployed and this object wasn't cleared up correctly.
+    * @return The instance
+    */
+   public Object getConnectionFactory()
+   {
+      return connectionFactory.get();
+   }
+
+   /**
     * Get the managed connection factory instance.
     * 
     * Note, that the value may be <code>null</code> if the managed connection factory was
     * undeployed and this object wasn't cleared up correctly.
     * @return The instance
     */
-   public ManagedConnectionFactory getMcf()
+   public ManagedConnectionFactory getManagedConnectionFactory()
    {
       return managedConnectionFactory;
    }
@@ -117,7 +134,6 @@
       this.poolConfiguration = new WeakReference<PoolConfiguration>(pc);
    }
 
-
    /**
     * Get the jndiName.
     * 
@@ -147,8 +163,10 @@
    {
       StringBuilder sb = new StringBuilder();
 
-      sb.append("ManagedConnectionFactory@").append(Integer.toHexString(System.identityHashCode(this)));
+      sb.append("ConnectionFactory@").append(Integer.toHexString(System.identityHashCode(this)));
       sb.append("[jndiName=").append(getJndiName());
+      sb.append(" connectionFactory=").append(getConnectionFactory());
+      sb.append(" managedConnectionFactory=").append(getManagedConnectionFactory());
       sb.append(" pool=").append(getPool());
       sb.append(" poolconfiguration=").append(getPoolConfiguration());
       sb.append("]");

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-04-07 14:16:15 UTC (rev 111116)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java	2011-04-07 15:09:07 UTC (rev 111117)
@@ -1144,13 +1144,13 @@
                         if (activateDeployment)
                         {
                            org.jboss.jca.core.api.management.ConnectionFactory mgtCf =
-                              new org.jboss.jca.core.api.management.ConnectionFactory(mcf);
+                              new org.jboss.jca.core.api.management.ConnectionFactory(cf, mcf);
 
                            mgtCf.setPoolConfiguration(pc);
                            mgtCf.setPool(pool);
                            mgtCf.setJndiName(jndiName);
                            
-                           mgtCf.getMcf().getConfigProperties().
+                           mgtCf.getManagedConnectionFactory().getConfigProperties().
                               addAll(createManagementView(ra10.getConfigProperties()));
 
                            mgtConnector.getConnectionFactories().add(mgtCf);
@@ -1597,13 +1597,13 @@
                                     if (activateDeployment)
                                     {
                                        org.jboss.jca.core.api.management.ConnectionFactory mgtCf =
-                                          new org.jboss.jca.core.api.management.ConnectionFactory(mcf);
+                                          new org.jboss.jca.core.api.management.ConnectionFactory(cf, mcf);
 
                                        mgtCf.setPoolConfiguration(pc);
                                        mgtCf.setPool(pool);
                                        mgtCf.setJndiName(jndiName);
                                        
-                                       mgtCf.getMcf().getConfigProperties().
+                                       mgtCf.getManagedConnectionFactory().getConfigProperties().
                                           addAll(createManagementView(cdMeta.getConfigProperties()));
 
                                        mgtConnector.getConnectionFactories().add(mgtCf);

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-04-07 14:16:15 UTC (rev 111116)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/fungal/AbstractFungalRADeployer.java	2011-04-07 15:09:07 UTC (rev 111117)
@@ -449,15 +449,29 @@
                server.registerMBean(raDMB, raON);
 
                ons.add(raON);
+
+               if (mgtRa.getStatistics() != null)
+               {
+                  String raSName = baseName + ",type=ResourceAdapterStatistics,class=" +
+                     getClassName(mgtRa.getResourceAdapter().getClass().getName());
+
+                  DynamicMBean raSDMB = JMX.createMBean(mgtRa.getStatistics(),
+                                                        "Resource adapter statistics");
+                  ObjectName raSON = new ObjectName(raSName);
+                  
+                  server.registerMBean(raSDMB, raSON);
+
+                  ons.add(raSON);
+               }
             }
          }
 
          for (org.jboss.jca.core.api.management.ConnectionFactory mgtCf :
                  mgtConnector.getConnectionFactories())
          {
-            if (mgtCf.getMcf() != null)
+            if (mgtCf.getManagedConnectionFactory() != null)
             {
-               org.jboss.jca.core.api.management.ManagedConnectionFactory mgtMcf = mgtCf.getMcf();
+               org.jboss.jca.core.api.management.ManagedConnectionFactory mgtMcf = mgtCf.getManagedConnectionFactory();
                Set<String> writeable = new HashSet<String>();
                Set<String> excludeAttributes = new HashSet<String>();
 
@@ -488,12 +502,26 @@
                server.registerMBean(mcfDMB, mcfON);
 
                ons.add(mcfON);
+
+               if (mgtMcf.getStatistics() != null)
+               {
+                  String mcfSName = baseName + ",type=ManagedConnectionFactoryStatistics,class=" +
+                     getClassName(mgtMcf.getManagedConnectionFactory().getClass().getName());
+
+                  DynamicMBean mcfSDMB = JMX.createMBean(mgtMcf.getStatistics(),
+                                                         "Managed connection factory statistics");
+                  ObjectName mcfSON = new ObjectName(mcfSName);
+
+                  server.registerMBean(mcfSDMB, mcfSON);
+
+                  ons.add(mcfSON);
+               }
             }
 
             if (mgtCf.getPoolConfiguration() != null)
             {
-               String mcfPCName = baseName + ",type=ManagedConnectionFactory,class=" +
-                  getClassName(mgtCf.getMcf().getClass().getName()) +
+               String mcfPCName = baseName + ",type=ConnectionFactory,class=" +
+                  getClassName(mgtCf.getConnectionFactory().getClass().getName()) +
                   ",subcategory=PoolConfiguration";
 
                DynamicMBean mcfPCDMB = JMX.createMBean(mgtCf.getPoolConfiguration(), "Pool configuration");
@@ -506,15 +534,28 @@
 
             if (mgtCf.getPool() != null)
             {
-               String mcfPName = baseName + ",type=ManagedConnectionFactory,class=" +
-                  getClassName(mgtCf.getMcf().getClass().getName()) + ",subcategory=Pool";
+               String cfPName = baseName + ",type=ConnectionFactory,class=" +
+                  getClassName(mgtCf.getConnectionFactory().getClass().getName()) + ",subcategory=Pool";
 
-               DynamicMBean mcfPDMB = JMX.createMBean(mgtCf.getPool(), "Pool");
-               ObjectName mcfPON = new ObjectName(mcfPName);
+               DynamicMBean cfPDMB = JMX.createMBean(mgtCf.getPool(), "Pool");
+               ObjectName cfPON = new ObjectName(cfPName);
 
-               server.registerMBean(mcfPDMB, mcfPON);
+               server.registerMBean(cfPDMB, cfPON);
 
-               ons.add(mcfPON);
+               ons.add(cfPON);
+
+               if (mgtCf.getPool().getStatistics() != null)
+               {
+                  String cfPSName = baseName + ",type=ConnectionFactory,class=" +
+                     getClassName(mgtCf.getConnectionFactory().getClass().getName()) + ",subcategory=PoolStatistics";
+
+                  DynamicMBean cfPSDMB = JMX.createMBean(mgtCf.getPool().getStatistics(), "Pool statistics");
+                  ObjectName cfPSON = new ObjectName(cfPSName);
+                  
+                  server.registerMBean(cfPSDMB, cfPSON);
+
+                  ons.add(cfPSON);
+               }
             }
          }
 
@@ -552,6 +593,20 @@
                server.registerMBean(aoDMB, aoON);
 
                ons.add(aoON);
+               
+               if (mgtAo.getStatistics() != null)
+               {
+                  String aoSName = baseName + ",type=AdminObjectStatistics,class=" +
+                     getClassName(mgtAo.getAdminObject().getClass().getName());
+
+                  DynamicMBean aoSDMB = JMX.createMBean(mgtAo.getStatistics(),
+                                                        "Admin object statistics");
+                  ObjectName aoSON = new ObjectName(aoSName);
+
+                  server.registerMBean(aoSDMB, aoSON);
+                  
+                  ons.add(aoSON);
+               }
             }
          }
 

Modified: projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/McfResourceComponent.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/McfResourceComponent.java	2011-04-07 14:16:15 UTC (rev 111116)
+++ projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/McfResourceComponent.java	2011-04-07 15:09:07 UTC (rev 111117)
@@ -56,7 +56,7 @@
    private ManagedConnectionFactory getManagedConnectionFactory()
    {
       CfResourceComponent parentRes = (CfResourceComponent)getResourceContext().getParentResourceComponent();
-      return parentRes.getConnectionFactory().getMcf();
+      return parentRes.getConnectionFactory().getManagedConnectionFactory();
    }
    
    /**

Modified: projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/XATestCase.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/XATestCase.java	2011-04-07 14:16:15 UTC (rev 111116)
+++ projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/XATestCase.java	2011-04-07 15:09:07 UTC (rev 111117)
@@ -371,7 +371,7 @@
       
       ManagementRepository manRepo = ManagementRepositoryManager.getManagementRepository();
       Connector connector = ManagementRepositoryHelper.getConnectorByUniqueId(manRepo, "xa.rar");
-      ManagedConnectionFactory mcf = connector.getConnectionFactories().get(0).getMcf();
+      ManagedConnectionFactory mcf = connector.getConnectionFactories().get(0).getManagedConnectionFactory();
       
       XAManagedConnectionFactory xaMcf = (XAManagedConnectionFactory)mcf.getManagedConnectionFactory();
       assertEquals("new-rhq", xaMcf.getManagement());
@@ -500,7 +500,7 @@
       ManagementRepository manRepo = EmbeddedJcaDiscover.getInstance().getManagementRepository();
       Connector xaConnector = manRepo.getConnectors().get(0);
       AdminObject ao = xaConnector.getAdminObjects().get(0);
-      ManagedConnectionFactory mcf = xaConnector.getConnectionFactories().get(0).getMcf();
+      ManagedConnectionFactory mcf = xaConnector.getConnectionFactories().get(0).getManagedConnectionFactory();
       ResourceAdapter ra = xaConnector.getResourceAdapter();
 
       // ao-config 



More information about the jboss-cvs-commits mailing list