Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Not able to modify the mbeans of WAS 6.1 using sun 5.x jre

7 views
Skip to first unread message

sachg...@gmail.com

unread,
Mar 31, 2008, 7:18:54 AM3/31/08
to
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&lt;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

Ken Hygh

unread,
Mar 31, 2008, 8:40:49 AM3/31/08
to
sachg...@gmail.com wrote:
> 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 />
>
[snip]

Is there anything in the WAS logs?

BTW, if an error is thrown, your code will simply ignore it. You
probably need to put something in the catch() clause.

Ken

sachg...@gmail.com

unread,
Mar 31, 2008, 9:21:58 AM3/31/08
to
yes if I catch the error which I was not doing previously it was showing as follows<br />
<br />
java.rmi.MarshalException: CORBA MARSHAL 1398079695 No; nested exception is: <br />
org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 207 completed: No<br />
at com.sun.corba.se.impl.javax.rmi.CORBA.Util.mapSystemException(Unknown Source)<br />
at javax.rmi.CORBA.Util.mapSystemException(Unknown Source)<br />
at org.omg.stub.javax.management.j2ee._Management_Stub.getMBeanInfo(_Management_Stub.java:409)<br />
at com.WSConnector.test(WSConnector.java:214)<br />
at com.WSConnector.main(WSConnector.java:150)<br />
Caused by: org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 207 completed: No<br />
at com.sun.corba.se.impl.logging.ORBUtilSystemException.endOfStream(Unknown Source)<br />
at com.sun.corba.se.impl.logging.ORBUtilSystemException.endOfStream(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.BufferManagerReadStream.underflow(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream_1_1.grow(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_octet_array(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.getConvertedChars(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.internalReadString(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.readStringOrIndirection(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_codebase_URL(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.inputCurrentClassFieldsForReadFields(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.readFields(Unknown Source)<br />
at com.sun.corba.se.impl.io.InputStreamHook.readFields(Unknown Source)<br />
at javax.management.modelmbean.DescriptorSupport.readObject(Unknown Source)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br />
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br />
at java.lang.reflect.Method.invoke(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.invokeObjectReader(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(Unknown Source)<br />
at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(Unknown Source)<br />
at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.defaultReadObjectDelegate(Unknown Source)<br />
at com.sun.corba.se.impl.io.InputStreamHook.defaultReadObject(Unknown Source)<br />
at javax.management.modelmbean.ModelMBeanAttributeInfo.readObject(Unknown Source)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br />
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br />
at java.lang.reflect.Method.invoke(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.invokeObjectReader(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(Unknown Source)<br />
at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(Unknown Source)<br />
at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(Unknown Source)<br />
at com.sun.corba.se.impl.io.ValueHandlerImpl.read_Array(Unknown Source)<br />
at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(Unknown Source)<br />
at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(Unknown Source)<br />
at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(Unknown Source)<br />
at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(Unknown Source)<br />
at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(Unknown Source)<br />
at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(Unknown Source)<br />
<br />
at org.omg.stub.javax.management.j2ee._Management_Stub.getMBeanInfo(_Management_Stub.java:391)

Ken Hygh

unread,
Mar 31, 2008, 9:40:44 AM3/31/08
to
sachg...@gmail.com wrote:
> yes if I catch the error which I was not doing previously it was showing as follows<br />
> <br />
> java.rmi.MarshalException: CORBA MARSHAL 1398079695 No; nested exception is: <br />
> org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 207 completed: No<br />
> at com.sun.corba.se.impl.javax.rmi.CORBA.Util.mapSystemException(Unknown Source)<br />
> at javax.rmi.CORBA.Util.mapSystemException(Unknown Source)<br />
> at org.omg.stub.javax.management.j2ee._Management_Stub.getMBeanInfo(_Management_Stub.java:409)<br />
> at com.WSConnector.test(WSConnector.java:214)<br />
> at com.WSConnector.main(WSConnector.java:150)<br />
> Caused by: org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 207 completed: No<br />

[snip]

Looks like the call to getMBeanInfo is failing. You might ask in a Sun
JVM newsgroup.

Ken

James Yannotta

unread,
Mar 31, 2008, 11:30:06 AM3/31/08
to
According to this, it sounds like you need to use the IBM ORB in the SUN JRE, if you need to use the SUN JRE:<br />
<a class="jive-link-external" href="http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14036393">http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14036393</a><br />
<br />
-James

sachg...@gmail.com

unread,
Apr 1, 2008, 1:11:38 AM4/1/08
to
Hi James !!!<br />
<br />
It was worked correctly you have <br />
right solution. great!!!!<br />
<br />
Thanks to every body!!!<br />
<br />
Best<br />
sachinlnctmca2004
0 new messages