[jboss-cvs] JBossAS SVN: r58540 - trunk/aspects/src/main/org/jboss/aspects/versioned

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Nov 18 06:10:02 EST 2006


Author: bstansberry at jboss.com
Date: 2006-11-18 06:10:01 -0500 (Sat, 18 Nov 2006)
New Revision: 58540

Modified:
   trunk/aspects/src/main/org/jboss/aspects/versioned/DistributedTxCache.java
Log:
Can't query ClusterPartition class; it's a proxy now

Modified: trunk/aspects/src/main/org/jboss/aspects/versioned/DistributedTxCache.java
===================================================================
--- trunk/aspects/src/main/org/jboss/aspects/versioned/DistributedTxCache.java	2006-11-18 11:09:19 UTC (rev 58539)
+++ trunk/aspects/src/main/org/jboss/aspects/versioned/DistributedTxCache.java	2006-11-18 11:10:01 UTC (rev 58540)
@@ -21,6 +21,7 @@
   */
 package org.jboss.aspects.versioned;
 import java.io.Serializable;
+import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -34,7 +35,6 @@
 import org.jboss.aop.InstanceAdvised;
 import org.jboss.ha.framework.interfaces.HAPartition;
 import org.jboss.ha.framework.interfaces.HAPartition.HAPartitionStateTransfer;
-import org.jboss.ha.framework.server.ClusterPartition;
 import org.jboss.ha.framework.server.ClusterPartitionMBean;
 import org.jboss.logging.Logger;
 import org.jboss.mx.util.MBeanProxyExt;
@@ -92,10 +92,13 @@
    {
       HAPartition result = null;
       MBeanServer server = MBeanServerLocator.locate();
+      // Class name match does not work with the AOP proxy :(
+//    QueryExp classEQ = Query.eq(Query.classattr(),
+//             Query.value(ClusterPartition.class.getName()));
       QueryExp exp = Query.and(
-                        Query.eq(
-                           Query.classattr(),
-                           Query.value(ClusterPartition.class.getName ())
+                        Query.match(
+                           Query.attr("Name"),
+                           Query.value("ClusterPartition")
                         ),
                         Query.match(
                            Query.attr("PartitionName"),
@@ -106,12 +109,20 @@
       Set mbeans = server.queryMBeans (null, exp);
       if (mbeans != null && mbeans.size () > 0)
       {
-         ObjectInstance inst = (ObjectInstance)(mbeans.iterator ().next ());
-         ClusterPartitionMBean cp = (ClusterPartitionMBean) MBeanProxyExt.create (
-                                                      ClusterPartitionMBean.class, 
-                                                      inst.getObjectName (),
-                                                      server);
-         result = cp.getHAPartition();
+         for (Iterator iter = mbeans.iterator(); iter.hasNext();)
+         {
+            ObjectInstance inst = (ObjectInstance) iter.next();
+            try
+            {
+               ClusterPartitionMBean cp = (ClusterPartitionMBean) MBeanProxyExt.create (
+                                                   ClusterPartitionMBean.class, 
+                                                   inst.getObjectName (),
+                                                   server);
+               result = cp.getHAPartition();
+               break;
+            }
+            catch (Exception e) {}
+         }
       }
       
       return result;




More information about the jboss-cvs-commits mailing list