JMX wit h JDK1.4

Can anyone please tell me how can i retrieve remote machine's JVM parameters using JMX with JDK1.4?
I have tried adding the JMX 1.2 implementation jars into the classpath of my program, and i m trying to run a standalone java program from my local machine.
The below is the snippet of my program :
     RuntimeMXBean bean= (RuntimeMXBean)tBean;
     int port=9324;
     final ConnectionArgs cArgs = new ConnectionArgs(args);
// Get target's URL
     final JMXServiceURL target = cArgs.getJMXServiceURL();
     LocateRegistry.createRegistry(port);
     // Connect to target (assuming no security)
     MBeanServer mbs = MBeanServerFactory.createMBeanServer("server1");
     ObjectName name;
     name= new ObjectName("UserDomain:Name=jc");
     mbs.registerMBean(tBean, name); // tbean is a bean of JMX compliant           
     How can i get MxBeans(RuntimeMXBean) with the available MBeanServer object(mbs)?
     I know there is way to get MXBeans through ManagementFactory in jdk1.5,but how can i do the same in jdk1.4, is there any alternative for ManagementFactory in 1.4?
          Please let me know if any body already tried implementing the same?
This is a bit urgent.
Thanks,
Sachin

Of course you can use JMX 1.2 and JMX Remote API 1.0 with JDK 1.4. You can download the jars from the JCP website (JSRs 3 and 160, respectively).
What you will not be able to do is to interact with the JMX MXBeans that instrument the JVM because they only exist since JDK 5.0 but you still can write your own MBeans for instrumenting your application.
If you want to know more about JMX have a look at:
http://java.sun.com/jmx
If you want to know more about the Management and Monitoring features of the Java platform J2SE 5.0 and onwards have a look at:
http://java.sun.com/javase/6/docs/technotes/guides/management/index.html
Regards,
Luis

Similar Messages

  • JMX on JDK1.3

    Hello,
    Can I use JMX with the JDK 1.3? We have an older application server which supports only Jdk 1.2 or 1.3. I would love to use JMX to monitor a web application that is installed on the server. Is this possible?
    Thanks!

    Could you provide some more detail about how you are doing that? Is there any documentation you could point me to?
    Thanks,
    Iain

  • StandardEmitterMBean only in JDK1.6

    Since I am using JDK1.5, there doesn't seem to be a way to mimic StandardEmitterMBean.
    Based on http://blogs.sun.com/jmxetc/entry/javax_management_standardmbean_when_and
    I am currently doing the following:
    * where {@code IFoo} is my MBean interface
    Foo implements IFoo extends NotificationBroadcasterSupport
    StandardFoo extends StandardMBean
    }However my bean is not emitting events right now. So I'm suspecting that there are more changes in StandardEmitterMbean that I will need to implement.
    I'm not sure if the code for StandardEmitterMbean is GPL.
    Thanks
    Gavin

    Hi,
    On JDK 1.5 you will need to code your own subclass of StandardMBean that implements
    NotificationEmitter.
    This is shows how it can be done:
    public class CustomStandardEmitterMBean
              extends StandardMBean implements NotificationEmitter {
           final private NotificationEmitter emitter;
           <T> public CustomStandardEmitterMBean(T impl, Class<T> interfaceClass,
                                 NotificationEmitter emitter) throws ... {
                  super(impl,interfaceClass);
                  if (emitter == null) throw new IllegalArgumentException("emitter");
                  this.emitter = emitter;
           // implements all methods of NotificationEmitter interface by delegating to
           // emitter
          public void addNotificationListener(...) {
               emitter.addNotificationListener(....);
          public void removeNotificationListener(...) {
               emitter.removeNotificationListener(....);
          public MBeanNotificationInfo[] getNotifications() {
               return emitter.getNotifications();
           // end of NotificationEmitter interface implementation
          // We need also to override getMBeanInfo() in order to add the
          // MBeanNotificationInfo[] array the first time getMBeanInfo() is called
          // or if the MBeanNotificationInfo[] array changed.
          public MBeanInfo getMBeanInfo() {
                     // Let superclass evaluate MBeanInfo
                     final MBeanInfo info = super.getMBeanInfo();
                     // Check whether it has the correct notification infos
                     final MBeanNotificationInfo[] notifInfo = getNotifications();
                     if (!Arrays.deepEquals(info.getNotifications(),notifInfo)) {
                            // Doesn't have correct notif info => need to create a new MBeanInfo
                            final MBeanInfo newInfo = new MBeanInfo(
                                    info.getClassName(), info.getDescription(),
                                    info. getAttributes(), info.getOperations(),
                                    notifInfo);
                            // Let the superclass replace its cached info by  our new info
                            cacheMBeanInfo(newInfo);
                            return newInfo;
                     } else {
                            // Previously cached version is OK - just return it.
                            return info;
    }(Disclaimer: code mostly written from memory).
    Then you would create your MBean as follows:
    public class SomeMBeanImpl extends NotificationBroadcasterSupport
                        implements SomeMBean {
         ... this is your MBean implementation, which emits notification ...
    // Create an instance of SomeMBeanImpl
    final SomeMBeanImpl impl = new SomeMBeanImpl(...);
    // Wrap it in CustomStandardEmitterMBean
    final StandardMBean myStandardEmitter =
            new CustomStandardEmitterMBean(impl ,SomeMBean.class,impl);Maybe I'll add this to my blog... If I get the time ;-)...
    Hope this helps,
    -- daniel
    JMX, SNMP, Java, etc...
    http://blogs.sun.com/jmxetc

  • Problem with JMX Remote Port - JBoss & Apache on same machine

    Hi,
    I have a server which hosts Apache that uses mod_jk to pass requests to three Tomcat instances. Apache listens to port 80.
    I want to install a different application on the same machine that runs on JBoss. Foreseeing the problem with port numbers, I got a different IP address (Let's say IP2, and original IP for Apache is IP1) on the same machine to run JBoss application. I changed HTTP Connector configuration in server.xml to add "address=IP1:8080" for Tomcat, "address=IP2:8080" for JBoss. I also modified Apache Listen directive in httpd.conf from "Listen 80" to "Listen IP1:80".
    Now when I try to start JBoss server by running run.bat, I get below error.
    Can any one please suggest how can I resolve this port conflict? Is there even a way to resolve it? As JAVA_HOME can point to a single location and both JBoss & Apache use it?
    Thanks.
    ===============================================================================
      JBoss Bootstrap Environment
      JBOSS_HOME: C:\jboss
      JAVA: C:\Java\jdk1.6.0_01\bin\java
      JAVA_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=
    9004 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.aut
    henticate=false  -Dprogram.name=run.bat -server -Xms128m -Xmx512m -Dsun.rmi.dgc.
    client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
      CLASSPATH: C:\Java\jdk1.6.0_01\lib\tools.jar;E:\jboss\bin\run.jar
    ===============================================================================
    Error: Exception thrown by the agent : java.rmi.server.ExportException: Port alr
    eady in use: 9004; nested exception is:
            java.net.BindException: Address already in use: JVM_Bind
    Press any key to continue . . .

    What's running on JMX port without the Jboss running ?
    Seems that u have something it.
    Btw, try to discover how to bind JMX of portal to IP2, not to IP1 or to global Ip.

  • JMX version 1.0 & 1.2 conflict.

    I have a JMX client program running in JDK1.5 and the JMX server in 1.4 JDK and weblogic8.1.
    When I am trying to connect it is throwing the exception :
    Exception caught: java.lang.NullPointerException
    at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:164)
    at weblogic.management.internal.RemoteMBeanServerImpl_815_WLStub.queryNames(Unknown Source)
    at JMXTEST.main(JMXTEST.java:41)
    Caused by: java.lang.NullPointerException
    This I understood, because of JMX version conflict 1.0 and 1.2, I tried setting System.setProperty("jmx.serial.form", "1.0") ;, but It didn�t worked.
    Problem here is, the classes are present in rt.jar and weblogic.jar, but having different versions of JMX. The program is getting the classes from rt.jar is creating the issue. Is there any way to specify in the program, get these classes from weblogic.jar and not from rt.jar
    OR is there any solution to this issue.
    Code :
    MBeanServer mbs = (RemoteMBeanServer) home.getMBeanServer();
    Set mbeans = mbs.queryNames(objName, null);
    Your help is greatly appreciated. Thanks in advance.
    Regards,
    Shyam

    Hmm..
    If the two JMX versions are incompatible,. then a SerializationException is thrown. I had faced a similar problem working with Websphere 5.x and JMX 1.2.. The only way you can go around this is to use a client that is built on JMX 1.0, or change your server side JMX version. Personally i think you should just use a JMX 1.0 client.
    The reason why both are incompatible is that the serviceVersionUIDs that are difined in the JMX 1.0 classes do not match the ones in JMX 1.2. There is not way out of this. :( You see, many JMX Classes such as ObjectName, etc are sent to - from the client and the server so they need to be serialized, deserialzed.
    Your NullPointerException may be due to something else. However i suspect that once you resolve NullPointerException, you will eventually bump into serialization / deserialization problems.

  • Possible to connect between JMX 1.0 and JMX 1.2

    Hi,
    We have a module that needs to send notifications. This java module is running in a J2EE Weblogic 8.1 webapp server. Weblogic support JMX 1.0.
    Outside the J2EE server in another JVM we have the JMXAgent and the MBeans running as a regular server ( in J2SE). This server uses JMX 1.2 with the remote API ( not in JMX 1.0).
    Both use the jdk1.4.x version of java.
    The problem we have is to send the notification ( from weblogic) to the MBean since they support different JMX versions.
    Any hints?
    cheers,
    //mike

    Hi,
    You will need to use a proprietary connector to exchange notifications between a JMX 1.0 application and a JMX 1.2 application, because JMX Remote API connector servers will
    not work on top of JMX 1.0.
    If weblogic 8 implements such a proprietary connector, you might be able to use its server part in your weblogic application, and its client part from within a client JVM that contains JMX 1.2.
    http://e-docs.bea.com/wls/docs81/index.html
    You might also try to use other proprietary connectors, such as those offered by the
    Java DMK - for instance you could start a Java DMK 4.2 connector server (JDMK 4.2 is
    based on JMX 1.0) in your weblogic application, and uses Java DMK 5.1/OpenDMK
    in your JMX 1.2 client (Java DMK 4.2 and Java DMK 5.1/OpenDMK are inter-operable).
    http://java.sun.com/products/jdmk/release.html#42
    http://java.sun.com/products/jdmk
    https://opendmk.dev.java.net/
    Hope this helps,
    -- daniel
    http://blogs.sun.com/jmxetc

  • Specifications of deployment and lifecycle of JMX beans in a JEE server

    Hello,
    one colleague of mine is developping a service that uses an MBean to mimick a singleton (the MBean is not used for instrumentation or administration, it just holds a pool of shared non-standard resources) within a Glassfish server.
    I fought this idea (as I found a static utility would be both straightforward and easy to implement), but I took it, from this forum in particular, that it is a recommended way to use an MBean to serve as a shared resource holder. Point taken (I'm not concerned with clustering yet, I mean it's OK if the singleton is not cluster-wide)
    The problem is, my colleague warns that he witnesses "strange deployment behavior" with regard to the MBEan: in particular, it seems that the MBean is not unregistered upon EAR undeployment, and not redeployed upon EAR re-deployment. In particular updates to the MBean code (currently packaged within the EAR) require a server restart to take effect.
    From what I understand, the MBean is registered in a JVM-wide registry (the MBean server), and its classs and instances have a different lifecycle from the EAR, which has (some sort of, obviously more complex in the details) class-loader scope.
    I admit I'm making that up, from various observation -> my main problem is that I can't find an appserver-agnostic specification of the MBean lifecycle in a JEE environement. The EJB3 specification do not mention JMX (but as I understand it EJB3 alters none of the way JMX works).
    There seems however to be a J2EE-specific way of handling MBean - presumably because the hot-deployment-without-JVM-restart expands the MBean lifecycle beyond the EAR lifecycle.
    Could you point me to authoritative references on JMX used in JEE servers. In particular specification of the lifecycle and deployment is extremely welcome.
    I'm sorry for asking pointers: my own web searches turn up non-specifying docs.
    And if I search on JMX and Glassfish together, I find articles on either:
    - how Glassfish uses JMX to implement a lot of stuff, but not how Glassfish implements "JMX lifecycle" (if that expression even means something).
    - how to extend Glassfish's adminsitration capabilites writing custom MBeans
    Thanks in advance,
    J.

    The location of the registration code is thus the key to all this. e.g If you register manually in some startup class, you can unload/load the required versions of the MBean code.That's what we do (using a RegistryServlet and init()/destroy() callbacks).
    Sketchy description from what I understand of the developer's code: the init() indeed looks up the MBean and unregisters it if it exists, then registers it anew. Sometimes, the unregistering will fail (I haven't witnessed that), which triggered this topic.
    We have to investigate it further (with more rigorous archiving and analysis of the error logs). I'll post updates if any.
    If the MBeans are configured to be registered by the server itself (common) then the server would need to be restarted for the changes to be picked.OK. I have no idea how to configure where the MBeans are registered, time now to confess I have used JMX only in trivial cases so far.
    It is my sincere hope that you won't need to use the techniques of chapter 8 of [this specification|http://java.sun.com/javase/6/docs/technotes/guides/jmx/JMX_1_4_specification.pdf] .
    Indeed!
    Probably my lack of JMX knowledge, but I have no idea what the "Mlet service" is in my scenario, and I suspect I won't want to know :o)
    Overall this suggests that using JMX introduces unforeseen complexities, that may be overkill in our scenario (but I'm biased as I defended a couple of other alternatives).
    Thanks for your help so far; I'm still looking for some document that would clarify how the JEE server, or how Glassfish specifically, handles MBean lifecycle.

  • Problem to connect to JMX

    Hi,
    I am using jdk1.4.2.
    I create a JMXConnectorServer and then I try to let my:
    JMXServiceURL url = new JMXServiceURL("service:jmx:jmxmp://localhost:1099");
    // Connect the JMXConnector connector = JMXConnectorFactory.connect(url, null);
    // Get the MBeanServerConnection
    mbsc = connector.getMBeanServerConnection();
    However the connection is never created.
    Any ideas why?
    cheers,
    //mikael
    Error message:
    Starting JMXConnectorServer...
    java.lang.NoSuchMethodError: javax.management.MBeanServer.getClassLoaderRepository()Ljavax/management/loading/ClassLoaderRepository;
         at javax.management.remote.generic.ServerIntermediary$3.run(ServerIntermediary.java:971)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.management.remote.generic.ServerIntermediary.getClassLoaderRepository(ServerIntermediary.java:968)
         at javax.management.remote.generic.ServerIntermediary.access$000(ServerIntermediary.java:72)
         at javax.management.remote.generic.ServerIntermediary$1.run(ServerIntermediary.java:120)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.management.remote.generic.ServerIntermediary.<init>(ServerIntermediary.java:117)
         at javax.management.remote.generic.GenericConnectorServer$ClientCreation.run(GenericConnectorServer.java:451)
         at com.sun.jmx.remote.opt.util.ThreadService$ThreadServiceJob.run(ThreadService.java:208)
         at com.sun.jmx.remote.opt.util.JobExecutor.run(JobExecutor.java:59)

    Hi,
    The error message told that your MBEanServer received the client connection request but failed with an exception:
    java.lang.NoSuchMethodErro
    Please check which jmx version you used in your server side, it seems to me that you used a very old version.
    The jmxmp works with the JMX1.2, you can download it from
    Shanliang

  • Geting java.lang.ExceptionInInitializerError for wls6.1 with jdk1.4

    HI,
    Our application works fine with wls jdk1.3 but gives a runtime exception java.lang.ExceptionInInitializerError
    when wls6.1 a pointing to jdk1.4 ..
    plese give some tips..
    thanks

    Hi
              I am also facing this same error. Have u found any solution to this... Please help......
              I am really at my wits end already.....

  • Where can I get the source code of the jconsole in jdk1.5

    Where can I get the source code of the jconsole in jdk1.5?

    Hi,
    The JConsole 5 source code is not publicly available but you can get JConsole 6/7 source code from http://openjdk.java.net.
    Regards,
    Luis-Miguel Alventosa - JMX/JConsole dev team - http://blogs.sun.com/lmalventosa

  • JConsole with JDK1.5

    Hi there,
    I am new to JMX and trying sample programs wherein I have instrumented some of the Java classes as MBeans. I used
    ManagementFactory.getPlatformMBeanServer(); to get the platform MBean server and registered the MBeans in it.
    When I try to execute this on JConsole in JDK1.6 it just works fine and show me the process and the MBeans. But, it doesn't work with JDK1.5 , the process is shown as inactive process. Please suggest me how to register MBeans using JDK1.5
    Thanks in advance.
    Regards,
    -Sushama

    Do you run on Java 5.0 ore higher?
    The -Dcom.sun.management.jmxremote option must be passed on the java command line:
    java -Dcom.sun.management.jmxremote <other JVM options> <mainclass> <args...>
    For some appservers you shouldn't pass -Dcom.sun.management.jmxremote option.
    Instead the you need to start the admin console and enable JMX management from there, then
    have a look at the appserver log file and look for something like:
    service:jmx:rmi://....
    This is the JMXServiceURL at which the server is listening....
    I believe that for Sun AppServer 8.1 you need to follow the procedure described here:
    [http://docs.sun.com/app/docs/doc/819-2554/ablwi?a=view|http://docs.sun.com/app/docs/doc/819-2554/ablwi?a=view]
    There's also some info of interest here:
    [http://developers.sun.com/appserver/reference/techart/mgmt_monitoring.html|http://developers.sun.com/appserver/reference/techart/mgmt_monitoring.html]
    -- daniel
    [http://blogs.sun.com/jmxetc|http://blogs.sun.com/jmxetc]

  • Applicability of -Dcom.sun.management.jmxremote for JMX1.2.1 + JDK1.4

    In Mustang/Tiger, i can specify -Dcom.sun.management.jmxremote to indicate that I want to be able to manage JVM exposed properties remotely.
    If I am writing JMX code in an environment with JDK1.4 + JMX1.2.1, does the system property work in the same manner ?
    Additionally, is there a place listing all the system properties that may modify of the behaviour of a JMX managed application ? Thanks to all.
    Je soutiens Sarko.

    In JDK 1.4.x you will need JSR 3 + JSR 160. You will have to deploy your own RMI connector server. In order to achieve this you could mimick the out-of-the-box management agent in JDK 5. However, in JDK 1.4.x you will not see neither the PlatformMBeanServer nor the platform MBeans as these new features were introduced in JDK 5. You will be able to deploy your custom MBeans and still see them using JConsole.
    Have a look at the examples in the JSR 160 bundle.
    You can also have a look at the following link for more details on the out-of-the-box management agent:
    http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html#gdfvv
    Regards,
    Luis

  • Deploy app on standalone OC4J running on jdk1.6.0_04

    Hi all!
    I am trying to deploy an application on standalone OC4J running on jdk1.6.0_04. The application runs well when started on embedded oc4j (which is running on java 1.6). I know that jdk1.6 is not supported, but the application works smoother and faster on 1.6 and I want to try and find the reason why it won't work on standalone oc4j. When I start the server (start_oc4j.bat with JAVA_HOME set to c:\Program Files\Java\jdk1.6.0_04) I get these messages:
    Starting OC4J with command: "c:\Program Files\Java\jdk1.6.0_04\bin\java.exe" -XX
    :MaxPermSize=256m -Xmx512m -XX:+DisableExplicitGC -XX:+UseParallelGC -Xss128k -j
    ar oc4j.jar
    Jan 28, 2008 4:55:26 PM oracle.j2ee.xml.XMLMessages warningException
    WARNING: Exception Encountered
    Jan 28, 2008 4:55:26 PM oracle.oc4j.util.SystemLog logNoStack
    WARNING: Could not initialize thread locals accessor: java.lang.ThreadLocal$Thre
    adLocalMap.get(java.lang.ThreadLocal)
    08/01/28 16:55:31 WARNING: ApplicationServer.enableOC4JDocumentChangeNotifier Al
    ternate DocumentChangeNotifier in use!
    08/01/28 16:55:32 JMS server will listen on port 9127.
    08/01/28 16:55:33 oracle.j2ee.jms.oc4j.JMSServer startup complete
    08/01/28 16:55:35 Don't know how to map non-serializable type: interface javax.m
    anagement.j2ee.statistics.Stats to Open MBean Type.
    08/01/28 16:55:36 WARNING: J2EE JNDI-00002
    08/01/28 16:55:36 WARNING: No javax.jms.ConnectionFactory found at null
    08/01/28 16:55:38 WARNING: oracle.j2ee.jmsrouter.RouterException: JMS Destinatio
    n, {0}, does not exist
    08/01/28 16:55:39 Oracle Containers for J2EE 11g (11.1.1.0.0) initialized.
    When I try to deploy the application, I get the following error:
    Operation failed with error:
    oracle.oc4j.admin.deploy.spi.exceptions.DeploymentRuntimeException: Invocation error: oracle.classloader.util.AnnotatedClassNotFoundException:
         Missing class: [Ljava.io.Serializable;
         Dependent class: oracle.classloader.ClassLoaderQuery
         Loader: sun.misc.Launcher$AppClassLoader@28980466
         Code-Source: /C:/jdevstudio1111_tp3/j2ee/home/lib/pcl.jar
         Configuration: unknown
    This load was initiated at oc4j:11.1.1.0.0 using the loadClass() method.
    ; nested exception is:
         oracle.classloader.util.AnnotatedClassNotFoundException:
         Missing class: [Ljava.io.Serializable;
         Dependent class: oracle.classloader.ClassLoaderQuery
         Loader: sun.misc.Launcher$AppClassLoader@28980466
         Code-Source: /C:/jdevstudio1111_tp3/j2ee/home/lib/pcl.jar
         Configuration: unknown
    This load was initiated at oc4j:11.1.1.0.0 using the loadClass() method.
         at oracle.oc4j.admin.deploy.spi.InternalDeployer.doDeploy(InternalDeployer.java:328)
         at oracle.oc4j.admin.deploy.spi.InternalDeployer.theRun(InternalDeployer.java:274)
         at oracle.oc4j.admin.deploy.spi.InternalRunner.run(InternalRunner.java:178)
         at oracle.oc4j.admin.jmx.client.ThreadPool$ConfigurableThreadImpl.run(ThreadPool.java:305)
    Caused by: oracle.oc4j.rmi.OracleRemoteException: Invocation error: oracle.classloader.util.AnnotatedClassNotFoundException:
         Missing class: [Ljava.io.Serializable;
         Dependent class: oracle.classloader.ClassLoaderQuery
         Loader: sun.misc.Launcher$AppClassLoader@28980466
         Code-Source: /C:/jdevstudio1111_tp3/j2ee/home/lib/pcl.jar
         Configuration: unknown
    This load was initiated at oc4j:11.1.1.0.0 using the loadClass() method.
    ; nested exception is:
         oracle.classloader.util.AnnotatedClassNotFoundException:
         Missing class: [Ljava.io.Serializable;
         Dependent class: oracle.classloader.ClassLoaderQuery
         Loader: sun.misc.Launcher$AppClassLoader@28980466
         Code-Source: /C:/jdevstudio1111_tp3/j2ee/home/lib/pcl.jar
         Configuration: unknown
    This load was initiated at oc4j:11.1.1.0.0 using the loadClass() method.
         at com.evermind.server.rmi.RMICall.throwRecordedException(RMICall.java:150)
         at com.evermind.server.rmi.RMIClientConnection.obtainRemoteMethodResponse(RMIClientConnection.java:590)
         at com.evermind.server.rmi.RMIClientConnection.invokeMethod(RMIClientConnection.java:532)
         at com.evermind.server.rmi.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:63)
         at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.java:28)
         at com.evermind.server.ejb.StatefulSessionRemoteInvocationHandler.invoke(StatefulSessionRemoteInvocationHandler.java:26)
         at __Proxy2.invoke(Unknown Source)
         at oracle.oc4j.admin.jmx.client.MBeanServerEjbRemoteSynchronizer.invoke(MBeanServerEjbRemoteSynchronizer.java:104)
         at oracle.oc4j.admin.management.mejb.MEjb.invoke(MEjb.java:606)
         at oracle.oc4j.admin.deploy.spi.InternalDeployer.uploadFile(InternalDeployer.java:385)
         at oracle.oc4j.admin.deploy.spi.InternalDeployer.doDeploy(InternalDeployer.java:299)
         ... 3 more
    Caused by: oracle.classloader.util.AnnotatedClassNotFoundException:
         Missing class: [Ljava.io.Serializable;
         Dependent class: oracle.classloader.ClassLoaderQuery
         Loader: sun.misc.Launcher$AppClassLoader@28980466
         Code-Source: /C:/jdevstudio1111_tp3/j2ee/home/lib/pcl.jar
         Configuration: unknown
    This load was initiated at oc4j:11.1.1.0.0 using the loadClass() method.
         at oracle.classloader.PolicyClassLoader.handleClassNotFound(PolicyClassLoader.java:2134)
         at oracle.classloader.PolicyClassLoader.internalLoadClass(PolicyClassLoader.java:1699)
         at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1655)
         at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1640)
         at oracle.classloader.ClassLoaderQuery.loadClassFromUserDefinedOrMainLoader(ClassLoaderQuery.java:613)
         at com.evermind.util.ClassUtils.findClass(ClassUtils.java:298)
         at oracle.oc4j.rmi.MethodSpecification.getMethod(MethodSpecification.java:69)
         at oracle.oc4j.rmi.ServerRmiMethodCache.readMethodSpecification(ServerRmiMethodCache.java:101)
         at oracle.oc4j.rmi.ServerRmiMethodCache.getNewMethodSpec(ServerRmiMethodCache.java:70)
         at oracle.oc4j.rmi.ServerRmiMethodCache.readMethod(ServerRmiMethodCache.java:44)
         at com.evermind.server.rmi.ServerRmiMessageHandler.handleMethodInvocation(ServerRmiMessageHandler.java:591)
         at com.evermind.server.rmi.ServerRmiMessageHandler.handleOrmiRequest(ServerRmiMessageHandler.java:339)
         at com.evermind.server.rmi.ServerRmiMessageHandler.dispatchRequest(ServerRmiMessageHandler.java:302)
         at com.evermind.server.rmi.RMIServerConnection.processReceivedCommand(RMIServerConnection.java:169)
         at com.evermind.server.rmi.RMIConnection.handleCommand(RMIConnection.java:150)
         at com.evermind.server.rmi.RMIConnection.listenForOrmiCommands(RMIConnection.java:126)
         at com.evermind.server.rmi.RMIServerConnection.listenForOrmiCommands(RMIServerConnection.java:235)
         at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:105)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
         at java.lang.Thread.run(Thread.java:619)
         at com.evermind.server.rmi.RMICall.warningExceptionOriginatesFromTheRemoteServer(RMICall.java:112)
         at com.evermind.server.rmi.RMICall.throwRecordedException(RMICall.java:136)
         ... 13 more
    oracle.oc4j.rmi.OracleRemoteException: Invocation error: oracle.classloader.util.AnnotatedClassNotFoundException:
         Missing class: [Ljava.io.Serializable;
         Dependent class: oracle.classloader.ClassLoaderQuery
         Loader: sun.misc.Launcher$AppClassLoader@28980466
         Code-Source: /C:/jdevstudio1111_tp3/j2ee/home/lib/pcl.jar
         Configuration: unknown
    This load was initiated at oc4j:11.1.1.0.0 using the loadClass() method.
         at com.evermind.server.rmi.RMICall.throwRecordedException(RMICall.java:150)
         at com.evermind.server.rmi.RMIClientConnection.obtainRemoteMethodResponse(RMIClientConnection.java:590)
         at com.evermind.server.rmi.RMIClientConnection.invokeMethod(RMIClientConnection.java:532)
         at com.evermind.server.rmi.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:63)
         at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.java:28)
         at com.evermind.server.ejb.StatefulSessionRemoteInvocationHandler.invoke(StatefulSessionRemoteInvocationHandler.java:26)
         at __Proxy2.invoke(Unknown Source)
         at oracle.oc4j.admin.jmx.client.MBeanServerEjbRemoteSynchronizer.invoke(MBeanServerEjbRemoteSynchronizer.java:104)
         at oracle.oc4j.admin.management.mejb.MEjb.invoke(MEjb.java:606)
         at oracle.oc4j.admin.deploy.spi.InternalDeployer.uploadFile(InternalDeployer.java:385)
         at oracle.oc4j.admin.deploy.spi.InternalDeployer.doDeploy(InternalDeployer.java:299)
         at oracle.oc4j.admin.deploy.spi.InternalDeployer.theRun(InternalDeployer.java:274)
         at oracle.oc4j.admin.deploy.spi.InternalRunner.run(InternalRunner.java:178)
         at oracle.oc4j.admin.jmx.client.ThreadPool$ConfigurableThreadImpl.run(ThreadPool.java:305)
         Nested exception is:
    oracle.classloader.util.AnnotatedClassNotFoundException:
         Missing class: [Ljava.io.Serializable;
         Dependent class: oracle.classloader.ClassLoaderQuery
         Loader: sun.misc.Launcher$AppClassLoader@28980466
         Code-Source: /C:/jdevstudio1111_tp3/j2ee/home/lib/pcl.jar
         Configuration: unknown
    This load was initiated at oc4j:11.1.1.0.0 using the loadClass() method.
         at oracle.classloader.PolicyClassLoader.handleClassNotFound (PolicyClassLoader.java:2124) [C:/jdevstudio1111_tp3/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@28980466]
         at oracle.classloader.PolicyClassLoader.internalLoadClass (PolicyClassLoader.java:1699) [C:/jdevstudio1111_tp3/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@28980466]
         at oracle.classloader.PolicyClassLoader.loadClass (PolicyClassLoader.java:1655) [C:/jdevstudio1111_tp3/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@28980466]
         at oracle.classloader.PolicyClassLoader.loadClass (PolicyClassLoader.java:1640) [C:/jdevstudio1111_tp3/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@28980466]
         at oracle.classloader.ClassLoaderQuery.loadClassFromUserDefinedOrMainLoader (ClassLoaderQuery.java:613) [C:/jdevstudio1111_tp3/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@28980466]
         at com.evermind.util.ClassUtils.findClass (ClassUtils.java:298) [C:/jdevstudio1111_tp3/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdevstudio1111_tp3\j2ee\home\oc4j.jar), by oc4j:11.1.1.0.0]
         at oracle.oc4j.rmi.MethodSpecification.getMethod (MethodSpecification.java:69) [C:/jdevstudio1111_tp3/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdevstudio1111_tp3\j2ee\home\oc4j.jar), by oc4j:11.1.1.0.0]
         at oracle.oc4j.rmi.ServerRmiMethodCache.readMethodSpecification (ServerRmiMethodCache.java:101) [C:/jdevstudio1111_tp3/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdevstudio1111_tp3\j2ee\home\oc4j.jar), by oc4j:11.1.1.0.0]
         at oracle.oc4j.rmi.ServerRmiMethodCache.getNewMethodSpec (ServerRmiMethodCache.java:70) [C:/jdevstudio1111_tp3/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdevstudio1111_tp3\j2ee\home\oc4j.jar), by oc4j:11.1.1.0.0]
         at oracle.oc4j.rmi.ServerRmiMethodCache.readMethod (ServerRmiMethodCache.java:44) [C:/jdevstudio1111_tp3/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdevstudio1111_tp3\j2ee\home\oc4j.jar), by oc4j:11.1.1.0.0]
         at com.evermind.server.rmi.ServerRmiMessageHandler.handleMethodInvocation (ServerRmiMessageHandler.java:591) [C:/jdevstudio1111_tp3/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdevstudio1111_tp3\j2ee\home\oc4j.jar), by oc4j:11.1.1.0.0]
         at com.evermind.server.rmi.ServerRmiMessageHandler.handleOrmiRequest (ServerRmiMessageHandler.java:339) [C:/jdevstudio1111_tp3/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdevstudio1111_tp3\j2ee\home\oc4j.jar), by oc4j:11.1.1.0.0]
         at com.evermind.server.rmi.ServerRmiMessageHandler.dispatchRequest (ServerRmiMessageHandler.java:302) [C:/jdevstudio1111_tp3/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdevstudio1111_tp3\j2ee\home\oc4j.jar), by oc4j:11.1.1.0.0]
         at com.evermind.server.rmi.RMIServerConnection.processReceivedCommand (RMIServerConnection.java:169) [C:/jdevstudio1111_tp3/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdevstudio1111_tp3\j2ee\home\oc4j.jar), by oc4j:11.1.1.0.0]
         at com.evermind.server.rmi.RMIConnection.handleCommand (RMIConnection.java:150) [C:/jdevstudio1111_tp3/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdevstudio1111_tp3\j2ee\home\oc4j.jar), by oc4j:11.1.1.0.0]
         at com.evermind.server.rmi.RMIConnection.listenForOrmiCommands (RMIConnection.java:126) [C:/jdevstudio1111_tp3/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdevstudio1111_tp3\j2ee\home\oc4j.jar), by oc4j:11.1.1.0.0]
         at com.evermind.server.rmi.RMIServerConnection.listenForOrmiCommands (RMIServerConnection.java:235) [C:/jdevstudio1111_tp3/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdevstudio1111_tp3\j2ee\home\oc4j.jar), by oc4j:11.1.1.0.0]
         at com.evermind.server.rmi.RMIConnection.run (RMIConnection.java:105) [C:/jdevstudio1111_tp3/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdevstudio1111_tp3\j2ee\home\oc4j.jar), by oc4j:11.1.1.0.0]
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask (ThreadPoolExecutor.java:885) [jre bootstrap, by jre.bootstrap:1.6.0_04]
         at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:907) [jre bootstrap, by jre.bootstrap:1.6.0_04]
         at java.lang.Thread.run (Thread.java:619) [jre bootstrap, by jre.bootstrap:1.6.0_04]
    #### Deployment incomplete. #### Jan 28, 2008 5:08:47 PM
    Deployment Failed
    Can anyone help me, am I doing something wrong?
    Thanks,
    Pedja

    Running into the same issues; been juggling between JDK 5/6, Embedded and Standalone OC4J on various platforms; still no answer...
    Here's what I do know:
    OC4J on TN is for TP1 only, JDeveloper is for TP3 or later, so you must use the bundled OC4J with JDeveloper cross platform as well - including all patches like SOA and friends.
    JDK 6u4 is very bad; use anything but that; u5 seems good.
    A good start might be to go with the Emedded OC4J, take a look at the classpath and startup commands given by the IDE for the server in the logs and simply match with some bat file if you can - from the looks of it the Standalone OC4J is behind thus the reason it's only released for TP1.
    I'm not bothering with this till they pair a release with a Standalone OC4J.

  • WLS10gR3 JMX/JConsole BROKEN?

    Hey *,
    in order to expose MBean-Values and operations to my monitoring solution (Nagios) I want to first browse through my OSB/WLS MBeans using JMX tools like JConsole oder MC4j.
    However, it seems that JMX in 10gR3 does not work correctly due to some JDK Bugs.
    see here:
    http://blogs.sun.com/jmxetc/entry/proxying_a_jmx_connection_adapting
    http://forums.sun.com/thread.jspa?threadID=5233754
    Is there a patch around how to access the MBeans in WLS10gR3? I think it should affect a lot of personel and so should be a common problem right?
    grtx,
    \thomas!

    Well. This was a little bit too optimistic. In JDK1.6.0_u13 JConsole connects now well to my WebLogic Server, but it still does not work. Same thing in MC4j.
    The MBeans are listed in the tree, however operating on them does not work. It gives me an ClassNotFoundException just when I want to open an MBean - Unfortunately, the missing class is not mentioned...
    any comments?
    grtx,
    \thomas

  • JMX Dynamic Bean Operations.

    With JDK 1.5, I was having "invoke" in a DynamicBean implementation which was returning a JPanel with a JTable. The JMX console renders it in a JDialog and I could view my JTable with data in it. Now i upgraded to JDK 1.6 and then i see the Object returned from the invoke method is rendered in JTextArea as toString(). So I get something like "javax.swing.JPanel[,0,0,992x773,invalid,layout=javax.swing.BoxLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]" in the JTextArea of JMX operation return value dialog. This is a weird behaviour.
    Can I change this behaviour and make sure the Object is just rendered in a container as such without doing a toString() on the object returned from the invoke method.
    Is there an alternate view to achieve this?
    Edited by: ramkiFromCity on Jan 11, 2008 11:55 AM

    Hi,
    thanks for the response.
    Yes I am talking about JConsole. I cant write a plugin cause that would need some client libraries to be setup in runtime. My client does not have anything but JDK. The JMX way of rendering the data from JDK 1.6 is to put the data object's toString in a JTextArea. Whereas JDK1.5 just used to drop the object returned from invoke method in a container. And the change introduced in JDK1.6 is not desirable cause there is no lighweight way of displaying the data. Why does JMX need to care about if the returned object is a UI component like JPanel or not. All it needs to be doing is just render the returned Object in a container.
    All i would like to see is the JMX bean's invoke behaviour revorted back to JDK1.5 version:), cause it was very covenient to return JTable or JTree like sophisticated UI components. And what is in JDK 1.6 is just a unneccessary change of behaviour.
    Edited by: ramkiFromCity on Jan 22, 2008 7:01 AM

Maybe you are looking for

  • Blue desktop screen, no screensavers or desktop pix after 10.5.8 update

    Immediately after updating to 10.5.8 - using the Combo updater and yes, fixing permissions before and after the update - I was brought to my familiar desktop with the standard issue blue background. I tried accessing the Desktop/Screensaver preferenc

  • Zero in file name

    Hello everybody! This is a problem: if I have the files with similar names - the only difference is how page number is stated, in 2 digits or in 1, (so with 0 or without) - my script sees those names as the same. Here is test script tell application

  • Itunes has stopped working problem , appcrash

    Hi every one I faceing this problem every time I tried lunch itunes, I tried to uninstall and reinstall itunes many time but still facing same problem My OS is Win 7 64 bit Thanks and waiting

  • IS it right using StringTokenizer in this case ...(pls see code& expl)

    Hi This project takes a comma delimited input file , where the values are in double quotes .The inputfile has more than 200 columns. ex: "12345","1","USA County School,Public","Rank1","TX","USA" if we observe the 3 rd column in the first record in th

  • Download of Photoshop CS5 trial stuck in "Extracting"

    Hello, Today I went to download the 30 day free trial of CS5 and got through most of the steps, an error message popped up but now I am looking at the still open Adobe Download assistant which just says "Extracting..." with the status bar moving. Ple