Hi !!<br />
<br />
I am accessing custom mbeans of was 6.1 from my jmx client.<br />
I have 2 JREs to run this jmx client either from the <br />
A) WAS JRE<br />
B) SUN JRE<br />
<br />
If I run my jmx client with sun jre 5.x I am only able to access<br />
but can not modify the mbeans of WAS.<br />
<br />
this client is able to connect to was 6.1. <br />
No run time error is coming.<br />
Only the code used for accessing the mbeans are not executing.<br />
<br />
sachinlnctmca2004<br />
<br />
code is as follows:<br />
<br />
package com;<br />
<p />
import javax.management.MBeanPermission ;<br />
import com.ibm.websphere.security.WebSphereRuntimePermission;<br />
<p />
<br />
import java.util.Date;<br />
import java.util.Set;<br />
import java.util.Hashtable;<br />
import java.util.*;<br />
<p />
import javax.management.Attribute;<br />
import javax.management.InstanceNotFoundException;<br />
import javax.management.MBeanAttributeInfo;<br />
import javax.management.MBeanServerPermission;<br />
import javax.management.MalformedObjectNameException;<br />
import javax.management.Notification;<br />
import javax.management.NotificationListener;<br />
import javax.management.ObjectName;<br />
import javax.management.MBeanServerConnection;<br />
import javax.management.j2ee.Management;<br />
import javax.management.j2ee.ManagementHome;<br />
import javax.management.remote.JMXConnector;<br />
import javax.management.remote.JMXConnectorFactory;<br />
import javax.management.remote.JMXServiceURL;<br />
import javax.naming.Context;<br />
import javax.naming.InitialContext;<br />
import javax.rmi.PortableRemoteObject;<br />
<br />
import com.ibm.websphere.management.statistics.JVMStats;<br />
public class WSConnector {<br />
<br />
Hashtable env;<br />
ManagementHome mejbHome ;<br />
Management mejb;<br />
public WSConnector()<br />
{<br />
env = new Hashtable();<br />
<p />
<p />
try{<br />
<br />
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");<br />
<br />
env.put(Context.PROVIDER_URL, "iiop://
192.168.0.109:2809"); <br />
env.put("java.naming.corba.orb",org.omg.CORBA.ORB.init((String[])null,null));<br />
<p />
<br />
Context ic = new InitialContext(env);<br />
WebSphereRuntimePermission wrp = new WebSphereRuntimePermission ("AdminPermission");<br />
System.out.println(wrp.getName());<br />
<p />
MBeanPermission mbp = new MBeanPermission("<b>", "</b>");<br />
System.out.println("check guard="+ mbp.getActions());<br />
System.out.println(mbp.getActions());<br />
System.out.println(mbp.getName());<br />
<p />
<br />
Object obj = ic.lookup("ejb/mgmt/MEJB");<br />
<p />
<br />
mejbHome = (ManagementHome)PortableRemoteObject.narrow(obj, ManagementHome.class);<br />
mejb = mejbHome.create();<br />
<br />
ObjectName jvmQuery = new ObjectName("<b>:j2eeType=JVM,</b>");<br />
Set s = mejb.queryNames(jvmQuery, null);<br />
System.out.println("Size is"+s.size());<br />
<p />
<p />
}catch (Exception e)<br />
{<br />
e.printStackTrace();<br />
}<br />
<p />
<br />
}<br />
public static void main(String s[])<br />
{<br />
WSConnector ws = new WSConnector();<br />
ws.test();//Calling the test for displyaing and getting the mbeans operations and attribs<br />
System.out.println("connected");<br />
<br />
}<br />
public void test() {<br />
<p />
<br />
try{<br />
ObjectName on = new ObjectName("WebSphere*:*");<br />
<p />
<br />
Set objectNameSet = mejb.queryNames(on, null);<br />
<p />
Iterator i = objectNameSet.iterator();<br />
boolean hasStats=false;<br />
while (i.hasNext()) <br />
{<br />
<br />
on = (ObjectName) i.next();<br />
<br />
String type = on.getKeyProperty("type");<br />
<br />
if (!type.equals("ThreadPool")) {<br />
<br />
continue;<br />
<br />
} <br />
<br />
System.out.println("found mbean for ThreadPool: " + on);<br />
//code for getting the attributes<br />
<p />
if(on.getKeyProperty("type").toString().equalsIgnoreCase("ThreadPool"))<br />
{<br />
MBeanAttributeInfo[] atin = mejb.getMBeanInfo(on).getAttributes();<br />
System.out.println(atin.length);<br />
<p />
for(int k=0;k<atin.length;k++)<br />
{<br />
System.out.println(k+"Attribute name is " +atin[k].getName());<br />
<p />
}<br />
<br />
mejb.setAttribute(on,new Attribute("minimumSize", new Integer(5))); <br />
System.out.println("reading the minimumSize for Thread Pool =" +mejb.getAttribute(on,"minimumSize"));<br />
<p />
}<br />
<p />
System.out.println("success");<br />
<p />
}<br />
}catch (Exception e)<br />
{<br />
}<br />
}<br />
}<br />
<br />
sachinlnctmca2004