[ https://issues.apache.org/jira/browse/GERONIMO-5355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Forrest Xia closed GERONIMO-5355. --------------------------------- Resolution: Fixed Close it since the fix is in the 2.1 branch. > ClassCastException while starting snapshot (Stat Query) in G 215 Monitoring > portlet through java client > ------------------------------------------------------------------------------------------------------- > > Key: GERONIMO-5355 > URL: https://issues.apache.org/jira/browse/GERONIMO-5355 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: monitoring > Affects Versions: 2.1.5, 2.2.1 > Reporter: Amit Puri > Assignee: Vamsavardhana Reddy > Fix For: 2.1.8, 2.2.2 > > > In a java client where MBeanServerConnection is created and invoke > startSnapshot method in Monitoring Portlet of G 215, Stat Query snapshot > started but we can also find ClassCastException. > ... > ERROR [MasterRemoteControlJMX] > org.tranql.connector.jdbc.TranqlDataSource$SelfReference incompatible with > javax.sql.DataSource > java.lang.ClassCastException: > org.tranql.connector.jdbc.TranqlDataSource$SelfReference incompatible with > javax.sql.DataSource > at > org.apache.geronimo.monitoring.MasterRemoteControlJMX.<init>(MasterRemoteControlJMX.java:110) > at > org.apache.geronimo.monitoring.snapshot.SnapshotProcessor.getMRC(SnapshotProcessor.java:148) > at > org.apache.geronimo.monitoring.snapshot.SnapshotProcessor.takeSnapshot(SnapshotProcessor.java:59) > at > org.apache.geronimo.monitoring.snapshot.SnapshotThread.run(SnapshotThread.java:103) > ... > In G 214, this exception does not come while using same java client. > These steps are followed in java client: > 1.Creating MBeanServerConnection object > ... > MBeanServerConnection mbServerConn; > JMXServiceURL serviceURL = new > JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost/JMXConnector"); > Hashtable<String, Object> env = new Hashtable<String, Object>(); > String[] credentials = new String[2]; > credentials[0] = "system"; > credentials[1] = "manager"; > env.put(JMXConnector.CREDENTIALS, credentials); > > JMXConnector connector = JMXConnectorFactory.connect(serviceURL, env); > mbServerConn = connector.getMBeanServerConnection(); > .. > 2. Retrieving the mbean name to the agent-car-jmx plugin > .. > if(PATH == null) { > Set<ObjectName> mbeanNames = mbServerConn.queryNames(new > ObjectName("*:name=MasterRemoteControlJMX,*"), null); > for(Iterator<ObjectName> it = mbeanNames.iterator(); it.hasNext(); ) { > String mbeanName = ((ObjectName)it.next()).getCanonicalName(); > if(mbeanName.contains("agent-car-jmx") && > mbeanName.contains("MasterRemoteControlJMX") && mbeanName.contains("GBean")) { > PATH = mbeanName; > break; > }} > if(PATH == null) { > throw new Exception("[ERROR] Required mbean not found: agent-car-jmx"); > }} > .. > Here I am getting mbean name as > "geronimo:J2EEServer=geronimo,ServiceModule=org.apache.geronimo.plugins.monitoring/agent-car-jmx/2.1.5/car,j2eeType=GBean,name=MasterRemoteControlJMX" > 3. Invoking startSnapshot > .. > long time = 300000; > int days = 2; > mbServerConn.invoke(new ObjectName(PATH),"startSnapshot", new Object[] { > time, days }, new String[] { "java.lang.Long", "java.lang.Integer" }); > .. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira