Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    SmartClient 8.0 upgrade problem

    Hi,

    I found an interesting Jar dependency and would like your advice.

    1. SmartClient version
    === 2011-02-22 14:55:33,813 [ efa] INFO ISCInit - Isomorphic SmartClient Framework (8.0/Enterprise Deployment 2011-01-21) - Initialization Complete

    I also was wondering if you could comment on the below which is related to the dependency above.
    SmartClient_80_Enterprise\smartclientSDK\WEB-INF\lib\README.txt

    "The following components are provided in the SmartClient SDK to support developer examples or SQL-based rapid prototyping only. These components are not intended or licensed for production deployment."

    We are currently using SQL datasources so I was surprised to see this in the documentation.

    Here is the dependency issue. isomorphic_core_rpc.jar is dependent on hibernate3.jar. I would think this has to be an oversight.

    Also, is isomorphic_compression.jar discontinued, we do have isomorphic_assembly.jar?

    Thanks,
    Eric

    Code:
    === 2011-02-22 14:59:08,553 [p-26] INFO  SQLDataSource - [builtinApplication.SGJOrgChartDS_fetch] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause
    === 2011-02-22 14:59:08,694 [p-26] ERROR IDACall - Top-level servlet error: 
    java.lang.NoClassDefFoundError: org/hibernate/criterion/Conjunction
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:247)
    	at com.isomorphic.base.Reflection.classForName(Reflection.java:133)
    	at com.isomorphic.interfaces.InterfaceProvider.exists(InterfaceProvider.java:140)
    	at com.isomorphic.sql.SQLConnectionManager.<clinit>(SQLConnectionManager.java:65)
    	at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:290)
    	at com.isomorphic.sql.SQLDriver.executeQuery(SQLDriver.java:552)
    	at com.isomorphic.sql.SQLDataSource.executeNativeQuery(SQLDataSource.java:375)
    	at com.isomorphic.sql.SQLDataSource.executeNativeQuery(SQLDataSource.java:370)
    	at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1291)
    	at com.isomorphic.sql.SQLDataSource.processRequest(SQLDataSource.java:280)
    	at com.isomorphic.sql.SQLDataSource.executeFetch(SQLDataSource.java:224)
    	at com.isomorphic.datasource.DataSource.execute(DataSource.java:1048)
    	at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:721)
    	at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:658)
    	at com.isomorphic.application.AppBase.execute(AppBase.java:491)
    	at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1443)
    	at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:173)
    	at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:130)
    	at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:95)
    	at com.isomorphic.servlet.IDACall.doPost(IDACall.java:54)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
    	at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
    	at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
    	at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
    	at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
    	at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
    	at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
    	at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    	at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    	at java.lang.Thread.run(Thread.java:619)
    Caused by: oracle.classloader.util.AnnotatedClassNotFoundException: 
    
    	  Missing class: org.hibernate.criterion.Conjunction
    
    	Dependent class: com.isomorphic.base.Reflection
    	         Loader: efa.web.efa-war:0.0.0
    	    Code-Source: /C:/workspace_efa-2.0/oc4j_10_1_3_4/j2ee/home/applications/efa/isomorphic_core_rpc.jar
    	  Configuration: manifest of /C:/workspace_efa-2.0/oc4j_10_1_3_4/j2ee/home/applications/efa/efa-war/
    
    This load was initiated at efa.web.efa-war:0.0.0 using the Class.forName() method.
    
    The missing class is available from the following locations:
    
    	1. Code-Source: /C:/workspace_efa-2.0/oc4j_10_1_3_4/j2ee/home/applications/efa/hibernate3.jar ()
    	   This code-source is not in use by any loader.

    #2
    On the mention of prototyping: this used to be true back in SmartClient pre-6.0 and looks like there's still this one stale reference to this. The reality is that the SQLDataSource is in production usage in many, many high profile applications. See also the QuickStart Guide - SQLDataSource is our first recommendation, ahead of Hibernate, JPA, etc.

    On the Hibernate error - in fact all we're doing is checking if Hibernate is available since there are some optional ways of using it with the SQLDataSource (to provide JDBC connection details, for example).

    With the .jar missing, this should cause a ClassNotFoundException, which we would have caught rather than allowing to bubble to IDACall. Instead, the NoClassDefFoundError you got most likely indicates that Hibernate is present, but a static initializer has failed due to some other problem. See further details on the distinction between these two errors here.

    Regardless, we've gone ahead and made a change to catch Throwable so that neither error causes an issue in future nightly builds. But you should be able to get past this with your current build by getting Hibernate off the classpath entirely.

    Comment


      #3
      Isomorphic,

      Thanks for the clarification of the README.

      What is the status of isomorphic_compression.jar? Has that just been missed or no longer applicable?

      To clarify the loading issue, I removed the entry from the manifest to force the problem to occur and the OC4J classloader is very nice to tell you what is going on. If I remove the jar from the distro entirely the same problem occurs. I think I am agreeing that it doesn't actually seem to affect affect the application. I am including the console and backend errors just to be thorough.

      Thanks for the quick reply,
      Eric

      Code:
      === 2011-02-22 17:27:17,110 [p-36] ERROR IDACall - Top-level servlet error: 
      java.lang.NoClassDefFoundError: org/hibernate/criterion/Conjunction
      	at java.lang.Class.forName0(Native Method)
      	at java.lang.Class.forName(Class.java:247)
      	at com.isomorphic.base.Reflection.classForName(Reflection.java:133)
      	at com.isomorphic.interfaces.InterfaceProvider.exists(InterfaceProvider.java:140)
      	at com.isomorphic.sql.SQLConnectionManager.<clinit>(SQLConnectionManager.java:65)
      	at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:290)
      	at com.isomorphic.sql.SQLDriver.executeQuery(SQLDriver.java:552)
      	at com.isomorphic.sql.SQLDataSource.executeNativeQuery(SQLDataSource.java:375)
      	at com.isomorphic.sql.SQLDataSource.executeNativeQuery(SQLDataSource.java:370)
      	at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1291)
      	at com.isomorphic.sql.SQLDataSource.processRequest(SQLDataSource.java:280)
      	at com.isomorphic.sql.SQLDataSource.executeFetch(SQLDataSource.java:224)
      	at com.isomorphic.datasource.DataSource.execute(DataSource.java:1048)
      	at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:721)
      	at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:658)
      	at com.isomorphic.application.AppBase.execute(AppBase.java:491)
      	at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1443)
      	at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:173)
      	at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:130)
      	at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:95)
      	at com.isomorphic.servlet.IDACall.doPost(IDACall.java:54)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
      	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      	at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
      	at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
      	at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
      	at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
      	at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
      	at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
      	at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
      	at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
      	at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
      	at java.lang.Thread.run(Thread.java:619)
      Caused by: oracle.classloader.util.AnnotatedClassNotFoundException: 
      
      	  Missing class: org.hibernate.criterion.Conjunction
      
      	Dependent class: com.isomorphic.base.Reflection
      	         Loader: efa.web.efa-war:0.0.0
      	    Code-Source: /C:/workspace_efa-2.0/oc4j_10_1_3_4/j2ee/home/applications/efa/isomorphic_core_rpc.jar
      	  Configuration: manifest of /C:/workspace_efa-2.0/oc4j_10_1_3_4/j2ee/home/applications/efa/efa-war/
      
      This load was initiated at efa.web.efa-war:0.0.0 using the Class.forName() method.
      
      The missing class is not available from any code-source or loader in the system.
      	at oracle.classloader.PolicyClassLoader.handleClassNotFound(PolicyClassLoader.java:2078)
      	at oracle.classloader.PolicyClassLoader.internalLoadClass(PolicyClassLoader.java:1679)
      	at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1635)
      	at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1620)
      	... 34 more
      
      
      Dev Console:
      17:27:14.158:INFO:Log:isc.Page is loaded
      17:27:18.579:XRP8:WARN:MyResultSet:isc_MyResultSet_1 (created by: isc_SGJApplication_0_detailPage_editableForm_organizationChart_link):Bad data returned, ignoring: "<BR>com.isomorphic.servlet.IDACall top-level exception<BR>
      <PRE>
      java.lang.NoClassDefFoundError: org/hibernate/criterion/Conjunction
      	at java.lang.Class.forName0(Native Method)
      	at java.lang.Class.forName(Class.java:247)
      	at com.isomorphic.base.Reflection.classForName(Reflection.java:133)
      	at com.isomorphic.interfaces.InterfaceProvider.exists(InterfaceProvider.java:140)
      	at com.isomorphic.sql.SQLConnectionManager.<clinit>(SQLConnectionManager.java:65)
      	at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:290)
      	at com.isomorphic.sql.SQLDriver.executeQuery(SQLDriver.java:552)
      	at com.isomorphic.sql.SQLDataSource.executeNativeQuery(SQLDataSource.java:375)
      	at com.isomorphic.sql.SQLDataSource.executeNativeQuery(SQLDataSource.java:370)
      	at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1291)
      	at com.isomorphic.sql.SQLDataSource.processRequest(SQLDataSource.java:280)
      	at com.isomorphic.sql.SQLDataSource.executeFetch(SQLDataSource.java:224)
      	at com.isomorphic.datasource.DataSource.execute(DataSource.java:1048)
      	at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:721)
      	at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:658)
      	at com.isomorphic.application.AppBase.execute(AppBase.java:491)
      	at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1443)
      	at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:173)
      	at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:130)
      	at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:95)
      	at com.isomorphic.servlet.IDACall.doPost(IDACall.java:54)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
      	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      	at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
      	at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
      	at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
      	at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
      	at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
      	at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
      	at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
      	at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
      	at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
      	at java.lang.Thread.run(Thread.java:619)
      Caused by: oracle.classloader.util.AnnotatedClassNotFoundException: 
      
      	  Missing class: org.hibernate.criterion.Conjunction
      
      	Dependent class: com.isomorphic.base.Reflection
      	         Loader: efa.web.efa-war:0.0.0
      	    Code-Source: /C:/workspace_efa-2.0/oc4j_10_1_3_4/j2ee/home/applications/efa/isomorphic_core_rpc.jar
      	  Configuration: manifest of /C:/workspace_efa-2.0/oc4j_10_1_3_4/j2ee/home/applications/efa/efa-war/
      
      This load was initiated at efa.web.efa-war:0.0.0 using the Class.forName() method.
      
      The missing class is not available from any code-source or loader in the system.
      	at oracle.classloader.PolicyClassLoader.handleClassNotFound(PolicyClassLoader.java:2078)
      	at oracle.classloader.PolicyClassLoader.internalLoadClass(PolicyClassLoader.java:1679)
      	at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1635)
      	at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1620)
      	... 34 more
      </PRE>
      "
      17:30:54.949:MDN0[E]:WARN:Scrollbar:isc_SGJApplication_0_detailPage_editableForm_paneContainer_vscroll:setImage: image 'corner' couldn't be found

      Comment


        #4
        Missed the question about isomorphic_compression.jar - that's part of the Network Performance module, which is a feature of Power, whereas you appear to have Pro. What it does is enable compression over any compressable file via the CompressionFilter servlet. If that's not in your web.xml, you weren't using it anyway.

        On the error you're seeing - those logs clearly indicate failing to load data. It's almost certain this has some kind of effect on the application (we did not say otherwise). And again, these errors still indicate that Hibernate is present somehow, just not functional. Most likely, OC4J is providing it in some nonfunctional way (eg, it's missing classes).

        Comment


          #5
          Hello Isomorphic,

          Sorry to prolong this thread but we are using Enterprise version.
          1. SmartClient version
          === 2011-02-22 14:55:33,813 [ efa] INFO ISCInit - Isomorphic SmartClient Framework (8.0/Enterprise Deployment 2011-01-21) - Initialization Complete

          The CompressionFilter needed to be commented out of the web.xml and I can't find the jar in either the runtime or SDK WEB-INF/lib dirs. Can I get it somewhere else like the evaluation version?

          Eric

          Comment

          Working...
          X