[infinispan-commits] Infinispan SVN: r917 - trunk/jopr-plugin/src/main/java/org/infinispan/jopr/infinispan.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Wed Oct 7 08:55:35 EDT 2009
Author: galder.zamarreno at jboss.com
Date: 2009-10-07 08:55:35 -0400 (Wed, 07 Oct 2009)
New Revision: 917
Modified:
trunk/jopr-plugin/src/main/java/org/infinispan/jopr/infinispan/CacheDiscovery.java
trunk/jopr-plugin/src/main/java/org/infinispan/jopr/infinispan/InfinispanDiscovery.java
Log:
[ISPN-135] (Automatically generate the JOPR XML descriptor for the JOPR plugin) Fixed cache discovery issue, added trace and made CacheManager discovery more dynamic.
Modified: trunk/jopr-plugin/src/main/java/org/infinispan/jopr/infinispan/CacheDiscovery.java
===================================================================
--- trunk/jopr-plugin/src/main/java/org/infinispan/jopr/infinispan/CacheDiscovery.java 2009-10-06 07:17:20 UTC (rev 916)
+++ trunk/jopr-plugin/src/main/java/org/infinispan/jopr/infinispan/CacheDiscovery.java 2009-10-07 12:55:35 UTC (rev 917)
@@ -40,29 +40,28 @@
* @author Heiko W. Rupp
*/
public class CacheDiscovery implements ResourceDiscoveryComponent<InfinispanComponent> {
+ private static final Log log = LogFactory.getLog(CacheDiscovery.class);
-
- private final Log log = LogFactory.getLog(this.getClass());
-
/**
* Naming pattern of the cache MgmtInterceptor
*/
- private static final String CACHE_QUERY = "*:cache-name=%name%,jmx-resource=CacheMgmtInterceptor";
+ private static final String CACHE_QUERY = "*:cache-name=%name%,jmx-resource=Cache";
-
/**
* Run the discovery
*/
public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext<InfinispanComponent> discoveryContext) throws Exception {
-
+ if (log.isTraceEnabled()) log.trace("Discover resources with context: " + discoveryContext);
Set<DiscoveredResourceDetails> discoveredResources = new HashSet<DiscoveredResourceDetails>();
EmsConnection conn = discoveryContext.getParentResourceComponent().getConnection();
+ if (log.isTraceEnabled()) log.trace("Connection to ems server stablished: " + conn);
+
ObjectNameQueryUtility queryUtility = new ObjectNameQueryUtility(CACHE_QUERY);
List<EmsBean> beans = conn.queryBeans(queryUtility.getTranslatedQuery());
+ if (log.isTraceEnabled()) log.trace("Querying [" + queryUtility.getTranslatedQuery() + "] returned beans: " + beans);
for (EmsBean bean : beans) {
-
/**
* A discovered resource must have a unique key, that must
* stay the same when the resource is discovered the next
@@ -80,7 +79,6 @@
null // ProcessInfo
);
-
// Add to return values
discoveredResources.add(detail);
log.info("Discovered new ... " + bean.getBeanName().getCanonicalName());
Modified: trunk/jopr-plugin/src/main/java/org/infinispan/jopr/infinispan/InfinispanDiscovery.java
===================================================================
--- trunk/jopr-plugin/src/main/java/org/infinispan/jopr/infinispan/InfinispanDiscovery.java 2009-10-06 07:17:20 UTC (rev 916)
+++ trunk/jopr-plugin/src/main/java/org/infinispan/jopr/infinispan/InfinispanDiscovery.java 2009-10-07 12:55:35 UTC (rev 917)
@@ -21,6 +21,9 @@
*/
package org.infinispan.jopr.infinispan;
+import static org.infinispan.jmx.CacheManagerJmxRegistration.*;
+import static org.infinispan.jmx.ComponentsJmxRegistration.*;
+import static org.infinispan.manager.DefaultCacheManager.*;
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
import org.mc4j.ems.connection.EmsConnection;
@@ -41,43 +44,47 @@
* Discovery class for Infinispan engines
*
* @author Heiko W. Rupp
+ * @author Galder Zamarreño
*/
public class InfinispanDiscovery implements ResourceDiscoveryComponent<InfinispanComponent> {
+ private static final Log log = LogFactory.getLog(InfinispanDiscovery.class);
+// // Assume a java5+ jmx-remote connector on port 6996
+// public static String REMOTE = "service:jmx:rmi://127.0.0.1/jndi/rmi://127.0.0.1:6996/jmxrmi";
- // Assume a java5 jmx-remote connector on port 6996
- public static String REMOTE = "service:jmx:rmi://127.0.0.1/jndi/rmi://127.0.0.1:6996/jmxrmi";
+// public static String MANAGER_OBJECT = "*:cache-name=[global],jmx-resource=CacheManager";
+
+ private static final String MANAGER_OBJECT = "*:" + CACHE_NAME_KEY + '=' + GLOBAL_JMX_GROUP + "," + JMX_RESOURCE_KEY + "=" + OBJECT_NAME;
+ private static final String CONNECTOR = "org.mc4j.ems.connection.support.metadata.J2SE5ConnectionTypeDescriptor";
- public static String MANAGER_OBJECT = "*:cache-name=[global],jmx-resource=CacheManager";
-
- String connector = "org.mc4j.ems.connection.support.metadata.J2SE5ConnectionTypeDescriptor";
- private final Log log = LogFactory.getLog(this.getClass());
-
-
/**
* Run the discovery
*/
public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext<InfinispanComponent> discoveryContext) throws Exception {
+ boolean trace = log.isTraceEnabled();
+ if (trace) log.trace("Discover resources with context: " + discoveryContext);
Set<DiscoveredResourceDetails> discoveredResources = new HashSet<DiscoveredResourceDetails>();
-
- /*
- * Currently this uses a hardcoded remote address for access to the MBean server
- * This needs to be switched to check if we e.g. run inside a JBossAS to which we
- * have a connection already that we can reuse.
- */
- Configuration c = new Configuration(); // TODO get from defaultPluginConfig
- c.put(new PropertySimple(JMXDiscoveryComponent.CONNECTOR_ADDRESS_CONFIG_PROPERTY, REMOTE));
- c.put(new PropertySimple(JMXDiscoveryComponent.CONNECTION_TYPE, connector));
+ // TODO check if we e.g. run inside a JBossAS to which we have a connection already that we can reuse.
+ Configuration c = discoveryContext.getDefaultPluginConfiguration();
+ c.put(c.getSimple(JMXDiscoveryComponent.CONNECTOR_ADDRESS_CONFIG_PROPERTY));
+ c.put(new PropertySimple(JMXDiscoveryComponent.CONNECTION_TYPE, CONNECTOR));
c.put(new PropertySimple("objectName", MANAGER_OBJECT));
+// c.put(new PropertySimple(JMXDiscoveryComponent.CONNECTOR_ADDRESS_CONFIG_PROPERTY, c.getSimple(JMXDiscoveryComponent.CONNECTOR_ADDRESS_CONFIG_PROPERTY)));
+// c.put(new PropertySimple(JMXDiscoveryComponent.CONNECTION_TYPE, connector));
+// c.put(new PropertySimple("objectName", MANAGER_OBJECT));
+
ConnectionHelper helper = new ConnectionHelper();
EmsConnection conn = helper.getEmsConnection(c);
+ if (trace) log.trace("Connection to ems server stablished: " + conn);
+
// Run query for manager_object
ObjectNameQueryUtility queryUtility = new ObjectNameQueryUtility(MANAGER_OBJECT);
List<EmsBean> beans = conn.queryBeans(queryUtility.getTranslatedQuery());
-
+ if (trace) log.trace("Querying [" + queryUtility.getTranslatedQuery() + "] returned beans: " + beans);
+
for (EmsBean bean : beans) {
String managerName = bean.getBeanName().getCanonicalName();
@@ -98,7 +105,6 @@
null // Process info from a process scan
);
-
// Add to return values
discoveredResources.add(detail);
log.info("Discovered Infinispan instance: " + managerName);
More information about the infinispan-commits
mailing list