java.lang.ClassCastException: com.domain.MasterNumberHistory I added VM arguments to OC4J to track the class and classloaders in use: -Dexecutor.concurrent.tasks=12 -XX:MaxPermSize=512m -Xms1024m -Xmx1024m -Dclass.load.trace=class-defined:com.domain.MasterNumberHistory+loader+stack -Dclass.load.log.level=finest -Dclass.load.log.file=C:/A/loader-trace.txt -Doc4j.start.query=LoaderTree My application is named foo-rmv , and I found out that OC4J is loading the application classloader twice, as foo-rmv.root:0.0.0 foo-rmv.root:0.0.1 Here are entries from the trace from when the class was loaded - notice the two copies of the OC4J application classloader being used: Class to be defined: com.domain.MasterNumberHistory (1594 bytes). Loader: foo-rmv.root:0.0.1 . Source: /C:/oracle/oc4j_extended_101340/j2ee/home/applications/foo-rmv/foo-rmv-domain.jar (from manifest of /C:/oracle/oc4j_extended_101340/j2ee/home/applications/foo-rmv/foo-rmv-services.jar) Class to be defined: com.domain.MasterNumberHistory (1594 bytes). Loader: foo-rmv.root:0.0.0 . Source: /C:/oracle/oc4j_extended_101340/j2ee/home/applications/foo-rmv/foo-rmv-domain.jar (from manifest of /C:/oracle/oc4j_extended_101340/j2ee/home/applications/foo-rmv/foo-rmv-services.jar) Below, I’m including - messages from the trace about the classloaders in question - the loader tree ClassLoader messages ClassLoader created: *foo-rmv.root:0.0.0( (instance 1189cbb)

Oracle Community | 742865 | 7 years ago
tip
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.
  1. 0

    OC4J loading root classloader twice - ClassCastException

    Oracle Community | 7 years ago | 742865
    java.lang.ClassCastException: com.domain.MasterNumberHistory I added VM arguments to OC4J to track the class and classloaders in use: -Dexecutor.concurrent.tasks=12 -XX:MaxPermSize=512m -Xms1024m -Xmx1024m -Dclass.load.trace=class-defined:com.domain.MasterNumberHistory+loader+stack -Dclass.load.log.level=finest -Dclass.load.log.file=C:/A/loader-trace.txt -Doc4j.start.query=LoaderTree My application is named foo-rmv , and I found out that OC4J is loading the application classloader twice, as foo-rmv.root:0.0.0 foo-rmv.root:0.0.1 Here are entries from the trace from when the class was loaded - notice the two copies of the OC4J application classloader being used: Class to be defined: com.domain.MasterNumberHistory (1594 bytes). Loader: foo-rmv.root:0.0.1 . Source: /C:/oracle/oc4j_extended_101340/j2ee/home/applications/foo-rmv/foo-rmv-domain.jar (from manifest of /C:/oracle/oc4j_extended_101340/j2ee/home/applications/foo-rmv/foo-rmv-services.jar) Class to be defined: com.domain.MasterNumberHistory (1594 bytes). Loader: foo-rmv.root:0.0.0 . Source: /C:/oracle/oc4j_extended_101340/j2ee/home/applications/foo-rmv/foo-rmv-domain.jar (from manifest of /C:/oracle/oc4j_extended_101340/j2ee/home/applications/foo-rmv/foo-rmv-services.jar) Below, I’m including - messages from the trace about the classloaders in question - the loader tree ClassLoader messages ClassLoader created: *foo-rmv.root:0.0.0( (instance 1189cbb)

    Root Cause Analysis

    1. java.lang.ClassCastException

      com.domain.MasterNumberHistory I added VM arguments to OC4J to track the class and classloaders in use: -Dexecutor.concurrent.tasks=12 -XX:MaxPermSize=512m -Xms1024m -Xmx1024m -Dclass.load.trace=class-defined:com.domain.MasterNumberHistory+loader+stack -Dclass.load.log.level=finest -Dclass.load.log.file=C:/A/loader-trace.txt -Doc4j.start.query=LoaderTree My application is named foo-rmv , and I found out that OC4J is loading the application classloader twice, as foo-rmv.root:0.0.0 foo-rmv.root:0.0.1 Here are entries from the trace from when the class was loaded - notice the two copies of the OC4J application classloader being used: Class to be defined: com.domain.MasterNumberHistory (1594 bytes). Loader: foo-rmv.root:0.0.1 . Source: /C:/oracle/oc4j_extended_101340/j2ee/home/applications/foo-rmv/foo-rmv-domain.jar (from manifest of /C:/oracle/oc4j_extended_101340/j2ee/home/applications/foo-rmv/foo-rmv-services.jar) Class to be defined: com.domain.MasterNumberHistory (1594 bytes). Loader: foo-rmv.root:0.0.0 . Source: /C:/oracle/oc4j_extended_101340/j2ee/home/applications/foo-rmv/foo-rmv-domain.jar (from manifest of /C:/oracle/oc4j_extended_101340/j2ee/home/applications/foo-rmv/foo-rmv-services.jar) Below, I’m including - messages from the trace about the classloaders in question - the loader tree ClassLoader messages ClassLoader created: *foo-rmv.root:0.0.0( (instance 1189cbb)

      at oracle.classloader.util.ClassLoadTracing$LoaderListener.loaderCreated()
    2. oracle.classloader.util
      ClassLoadTracing$LoaderListener.loaderCreated
      1. oracle.classloader.util.ClassLoadTracing$LoaderListener.loaderCreated(ClassLoadTracing.java:712)
      1 frame
    3. oracle.classloader
      PolicyClassLoader.<init>
      1. oracle.classloader.EventDispatcher.loaderCreated(EventDispatcher.java:200)
      2. oracle.classloader.PolicyClassLoader.<init>(PolicyClassLoader.java:441)
      2 frames
    4. oracle.oc4j.loader
      ConfigurationConsumer.createApplicationLoader
      1. oracle.oc4j.loader.config.ConfigurationConsumer.createApplicationLoader(ConfigurationConsumer.java:275)
      1 frame
    5. com.evermind.server
      ApplicationServerLauncher.run
      1. com.evermind.server.ApplicationStateRunning.createClassLoader(ApplicationStateRunning.java:1207)
      2. com.evermind.server.ApplicationStateRunning.initClassLoaders(ApplicationStateRunning.java:1215)
      3. com.evermind.server.ApplicationStateRunning.initializeApplication(ApplicationStateRunning.java:130)
      4. com.evermind.server.Application.setConfig(Application.java:454)
      5. com.evermind.server.Application.setConfig(Application.java:355)
      6. com.evermind.server.ApplicationServer.addApplication(ApplicationServer.java:1895)
      7. com.evermind.server.ApplicationServer.initializeDeployedApplications(ApplicationServer.java:1651)
      8. com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1034)
      9. com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:131)
      9 frames
    6. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:595)
      1 frame