Announcement

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

    Using diffferent HibernateConfiguration for each DataSource

    Hello,

    We are using SmartClient release 8.3 12/12/12.

    We need to use different hibernate configuration for each DataSource. I understand that that this can be achieved by using sprint and providing config bean for each DataSource but the problem is that we don't use spring at all. Is there another way to get this functionality?

    Furthermore, I wanted to know, if I am setting this properties in server.properties

    Code:
    hibernate.config.lookupStyle: factory
    hibernate.config.className: com.msp.smartclient.HibernateSessionFactoryFetcher
    How do I know what methods I need to write in the HibernateSessionFactoryFetcher class? (I couldn't find any documentation about it)

    Thank you.

    #2
    Update: I still need answers for the questions above, but besides that I am getting NullPointerException at at com.isomorphic.hibernate.HibernateDataSource.initConfigAndSessionFactory(HibernateDataSource.java:549)

    can you please tell me what is throwing this exception?

    Comment


      #3
      About the NPE, we would need at least the server logs for the request (always include this).

      At the moment, Spring is the only way to have multiple Hibernate configurations. However if you let us know why you think you need multiple configurations, there may be another approach we could suggest.

      Comment


        #4
        Ok, so...

        1. NPE:

        This is the full data from the server:

        Code:
        === 2012-12-13 17:27:04,035 [80-7] DEBUG HibernateDataSource - Obtaining local Hibernate config for DataSource 'treeHqlQuery_hib_111' via Spring bean 'hibernate_test'.
        === 2012-12-13 17:27:04,035 [80-7] INFO  ServerObject - DMI on Spring bean: &hibernate_test
        java.lang.NullPointerException
        	at com.isomorphic.hibernate.HibernateDataSource.initConfigAndSessionFactory(HibernateDataSource.java:549)
        	at com.isomorphic.hibernate.HibernateDataSource.init(HibernateDataSource.java:333)
        	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:400)
        	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:163)
        	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:385)
        	at com.isomorphic.datasource.DataSource.fromXML(DataSource.java:544)
        	at com.isomorphic.datasource.DataSource.fromXML(DataSource.java:513)
        	at com.msp.smartclient.datasource.DynamicTreeDSGenerator.getDataSource(DynamicTreeDSGenerator.java:33)
        	at com.isomorphic.datasource.DataSource.getDynamicDataSource(DataSource.java:364)
        	at com.isomorphic.datasource.DataSource.forName(DataSource.java:202)
        	at com.isomorphic.datasource.DataSource.forName(DataSource.java:195)
        	at com.isomorphic.datasource.DataSource.forName(DataSource.java:184)
        	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:119)
        	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:127)
        	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:94)
        	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:89)
        	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:83)
        	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:126)
        	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:94)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        	at com.msp.filters.EncodingFilter.doFilter(EncodingFilter.java:30)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
        	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
        	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
        	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
        	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
        	at java.lang.Thread.run(Thread.java:662)
        === 2012-12-13 17:27:04,058 [80-7] ERROR DataSourceLoader - Exception while attempting to load a DataSource
        javax.servlet.jsp.JspException: Unable to load DataSource for ID: treeHqlQuery_hib_111
        	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:128)
        	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:94)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        	at com.msp.filters.EncodingFilter.doFilter(EncodingFilter.java:30)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
        	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
        	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
        	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
        	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
        	at java.lang.Thread.run(Thread.java:662)
        === 2012-12-13 17:27:04,062 [80-7] ERROR DataSourceLoader - Top-level servlet error: 
        javax.servlet.ServletException: javax.servlet.jsp.JspException: Unable to load DataSource for ID: treeHqlQuery_hib_111
        	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:128)
        	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:94)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        	at com.msp.filters.EncodingFilter.doFilter(EncodingFilter.java:30)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
        	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
        	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
        	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
        	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
        	at java.lang.Thread.run(Thread.java:662)
        
        	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:185)
        	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:94)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        	at com.msp.filters.EncodingFilter.doFilter(EncodingFilter.java:30)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
        	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
        	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
        	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
        	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
        	at java.lang.Thread.run(Thread.java:662)
        We setup a WebApplicationContext and this is the spring file that is being loaded:

        Code:
        <?xml version="1.0" encoding="UTF-8"?>
        
        <beans xmlns="http://www.springframework.org/schema/beans"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
        
            <bean id="hibernate_test"
                  class="com.msp.smartclient.HibernateConfigurationFetcher">
        
                <constructor-arg value="hibernate_test" />
        
            </bean>
        
        </beans>
        This is the code for the HibernateConfigurationFetcher class:

        Code:
        package com.msp.smartclient;
        
        import com.msp.dao.DaoFactory;
        import org.hibernate.SessionFactory;
        import org.hibernate.cfg.Configuration;
        import org.springframework.beans.factory.FactoryBean;
        
        /**
         *
         */
        public class HibernateConfigurationFetcher implements FactoryBean {
        // ------------------------------ FIELDS ------------------------------
        
            /**
             *
             */
            private String hibernateConfiguration;
        
        // --------------------------- CONSTRUCTORS ---------------------------
        
            /**
             *
             */
            public HibernateConfigurationFetcher() {
            }
        
            /**
             * @param hibernateConfiguration
             */
            public HibernateConfigurationFetcher(String hibernateConfiguration) {
        
                this.hibernateConfiguration = hibernateConfiguration;
        
            }
        
        // ------------------------ INTERFACE METHODS ------------------------
        
        
        // --------------------- Interface FactoryBean ---------------------
        
            /**
             * @param hibernateConfiguration
             * @return
             * @throws Exception
            public Configuration getHibernateConfiguration(String hibernateConfiguration) throws Exception {
            return DaoFactory.getDaoFactory().getConfiguration(String.format("%s.cfg.xml", hibernateConfiguration));
            }
        
             */
        
            /**
             * @return
             * @throws Exception
             */
            @Override
            public Object getObject() throws Exception {
                return DaoFactory.getDaoFactory().getSessionFactory(String.format("%s.cfg.xml", hibernateConfiguration));
            }
        
            /**
             * @return
             */
            @Override
            public Class getObjectType() {
                return SessionFactory.class;
            }
        
            /**
             * @return
             */
            @Override
            public boolean isSingleton() {
                return false;
            }
        
        // -------------------------- OTHER METHODS --------------------------
        
            /**
             * @return
             * @throws Exception
             */
            public Configuration getConfiguration() throws Exception {
                return DaoFactory.getDaoFactory().getConfiguration(String.format("%s.cfg.xml", hibernateConfiguration));
            }
        }
        Here is the DataSource that is being fetched:

        Code:
        return DataSource.fromXML(
                                "<DataSource ID=\"" + s + "\" configBean=\"hibernate_test\" serverType=\"hibernate\" dropExtraFields=\"true\" beanClassName=\"com.msp.dao.entities.GenericTask\" >" +
                                        "<fields>" +
                                        "   <field name=\"id\"/>" +
                                        "   <field name=\"name\" treeField=\"true\" canFilter=\"true\"/>" +
                                        "   <field name=\"generatedId\" />" +
                                        "   <field name=\"parent\" valueXPath=\"parentTask/id\" />" +
                                        "   <field name=\"timeCreated\" type=\"date\"/>" +
                                        "</fields>" +
                                        "<serverObject className=\"com.msp.smartclient.dmihandler.TreeDMIHandler\"/>" +
                                        "</DataSource>"
                        );
        2. Reminder to answer the "hibernate.config.lookupStyle: factory" question that I mentioned above.

        3. Why I need multiple configuration? Because one of our main feature is that we consolidate data of several software into our software. This is why we need to allow showing data in ListGrid, TreeGrid, etc with DataSource that is using different hibernate configuration. Furthermore, we allow the customer (with our guiding GUI) to configure these other hibernate configuration after the software is installed so this means that the defined hibernate configuration files aren't exist in the classpath but in the tomcat folder. We already have factory that provide HiberateConfiguration and SessionFactory based on the wanted data but I am having troubles using it since you only provide this kind of feature via spring. It was very helpful if you had a feature that before executing each DataSource it would go through a defined factory class that would provide the DataSource with the HibernateConfiguration or SessionFactory based on the DataSource data.

        Thank you.
        Last edited by rotemy; 14 Dec 2012, 01:00.

        Comment


          #5
          Again please provide the complete log for the request (not *just* the stack trace). This is always required. The full log can contain a lot of context that may not seem important to you, but is to us.

          As far as making it possible to use multiple Hibernate configs without Spring, that would be a valid Feature Sponsorship if you really need it.

          "lookupStyle" is documented under ServerObject.lookupStyle.

          Comment


            #6
            This is the complete smartClientServerLog from start of the application to the exception:

            Code:
            === 2012-12-15 16:29:28,736 [main] INFO  ISCInit - Isomorphic SmartClient/SmartGWT Framework initialization called from com.isomorphic.base.InitListener
            === 2012-12-15 16:29:28,737 [main] INFO  ISCInit - Isomorphic SmartClient/SmartGWT Framework - Initializing
            === 2012-12-15 16:29:28,744 [main] INFO  ConfigLoader - Attempting to load framework.properties from CLASSPATH
            === 2012-12-15 16:29:28,887 [main] INFO  ConfigLoader - Successfully loaded framework.properties from CLASSPATH at location: jar:file:/C:/Projects/MSP/Rotemy%20IOF/out/exploded/ProjectsMSP/WEB-INF/lib/isomorphic_core_rpc.jar!/framework.properties
            === 2012-12-15 16:29:28,887 [main] INFO  ConfigLoader - Attempting to load project.properties from CLASSPATH
            === 2012-12-15 16:29:28,887 [main] INFO  ConfigLoader - Unable to locate project.properties in CLASSPATH
            === 2012-12-15 16:29:28,892 [main] INFO  ConfigLoader - Successfully loaded isc_interfaces.properties from CLASSPATH at location: jar:file:/C:/Projects/MSP/Rotemy%20IOF/out/exploded/ProjectsMSP/WEB-INF/lib/isomorphic_core_rpc.jar!/isc_interfaces.properties
            === 2012-12-15 16:29:28,892 [main] INFO  ConfigLoader - Attempting to load server.properties from CLASSPATH
            === 2012-12-15 16:29:28,895 [main] INFO  ConfigLoader - Successfully loaded server.properties from CLASSPATH at location: file:/C:/Projects/MSP/Rotemy%20IOF/out/exploded/ProjectsMSP/WEB-INF/classes/server.properties
            === 2012-12-15 16:29:28,900 [main] INFO  Logger - Logging system started.
            === 2012-12-15 16:29:28,901 [main] INFO  ISCInit - Isomorphic SmartClient/SmartGWT Framework (v8.3p_2012-12-12/PowerEdition Deployment 2012-12-12) - Initialization Complete
            === 2012-12-15 16:29:28,903 [main] INFO  ISCInit - Auto-detected webRoot - using: C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP
            === 2012-12-15 16:29:28,916 [main] INFO  ISCInit - Isomorphic SmartClient/SmartGWT Framework initialization called from com.isomorphic.base.Base
            === 2012-12-15 16:29:28,916 [main] INFO  ISCInit - Isomorphic SmartClient/SmartGWT Framework is already initialized
            === 2012-12-15 16:30:01,204 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\builtinTypes.xml: 3ms
            === 2012-12-15 16:30:01,219 [main] INFO  PoolManager - SmartClient pooling disabled for 'simpleTypes' objects
            === 2012-12-15 16:30:07,361 [main] INFO  ISCInit - Isomorphic SmartClient/SmartGWT Framework initialization called from com.isomorphic.base.Init
            === 2012-12-15 16:30:07,361 [main] INFO  ISCInit - Isomorphic SmartClient/SmartGWT Framework is already initialized
            === 2012-12-15 16:30:07,367 [main] INFO  PreCache - Isomorphic PreCache servlet loading
            === 2012-12-15 16:30:07,371 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\DataSource.ds.xml: 3ms
            === 2012-12-15 16:30:07,392 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\DataSourceField.ds.xml: 1ms
            === 2012-12-15 16:30:07,406 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\Validator.ds.xml: 1ms
            === 2012-12-15 16:30:07,415 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\ValueMap.ds.xml: 0ms
            === 2012-12-15 16:30:07,419 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\InstantDataApp.ds.xml: 2ms
            === 2012-12-15 16:30:07,462 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\Application.ds.xml: 1ms
            === 2012-12-15 16:30:07,467 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\IDAPage.ds.xml: 1ms
            === 2012-12-15 16:30:07,471 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\IDAUserType.ds.xml: 0ms
            === 2012-12-15 16:30:07,477 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\IDAOperation.ds.xml: 1ms
            === 2012-12-15 16:30:07,490 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\Canvas.ds.xml: 5ms
            === 2012-12-15 16:30:07,524 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\MethodDeclaration.ds.xml: 1ms
            === 2012-12-15 16:30:07,533 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\Img.ds.xml: 1ms
            === 2012-12-15 16:30:07,540 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\StatefulCanvas.ds.xml: 2ms
            === 2012-12-15 16:30:07,554 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\Button.ds.xml: 1ms
            === 2012-12-15 16:30:07,560 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\ListViewer.ds.xml: 0ms
            === 2012-12-15 16:30:07,568 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\ListGrid.ds.xml: 7ms
            === 2012-12-15 16:30:07,603 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\DynamicForm.ds.xml: 3ms
            === 2012-12-15 16:30:07,633 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\FormItem.ds.xml: 14ms
            === 2012-12-15 16:30:07,655 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\DetailViewer.ds.xml: 2ms
            === 2012-12-15 16:30:07,666 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\DetailViewerField.ds.xml: 2ms
            === 2012-12-15 16:30:07,672 [main] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\isomorphicXML.ds.xml: 1ms
            === 2012-12-15 16:30:07,675 [main] INFO  PreCache - Isomorphic PreCache complete (308ms)
            === 2012-12-15 16:30:31,616 [80-1] INFO  RequestContext - URL: '/MSP/pages/smart_client_example.jsp', User-Agent: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0': Moz (Gecko) with Accept-Encoding header
            === 2012-12-15 16:30:33,661 [80-1] INFO  ISCInit - Isomorphic SmartClient/SmartGWT Framework initialization called from com.isomorphic.base.Init
            === 2012-12-15 16:30:33,661 [80-1] INFO  ISCInit - Isomorphic SmartClient/SmartGWT Framework is already initialized
            === 2012-12-15 16:30:33,662 [80-1] DEBUG LoadISCTag - isomorphicURI not specified in tag, defaulting to: ../resources/isomorphic/
            === 2012-12-15 16:30:33,674 [80-1] INFO  Compression - /MSP/pages/smart_client_example.jsp: 23777 -> 3319 bytes
            === 2012-12-15 16:30:33,712 [80-1] INFO  Download - Returning 304: Not modified on conditional get of: C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\modules\ISC_Core.js
            === 2012-12-15 16:30:33,712 [80-3] INFO  Download - Returning 304: Not modified on conditional get of: C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\modules\ISC_Forms.js
            === 2012-12-15 16:30:33,717 [80-6] INFO  Download - Returning 304: Not modified on conditional get of: C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\modules\ISC_DataBinding.js
            === 2012-12-15 16:30:33,719 [80-5] INFO  Download - Returning 304: Not modified on conditional get of: C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\modules\ISC_Grids.js
            === 2012-12-15 16:30:33,721 [80-6] INFO  RequestContext - URL: '/MSP/isomorphic/locales/frameworkMessages_he.properties', User-Agent: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0': Moz (Gecko) with Accept-Encoding header
            === 2012-12-15 16:30:33,770 [80-4] INFO  Download - Returning 304: Not modified on conditional get of: C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\modules\ISC_Containers.js
            === 2012-12-15 16:30:33,780 [80-3] INFO  Download - Returning 304: Not modified on conditional get of: C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\modules\ISC_Foundation.js
            === 2012-12-15 16:30:33,782 [80-1] INFO  Download - Returning 304: Not modified on conditional get of: C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\modules\ISC_Drawing.js
            === 2012-12-15 16:30:33,798 [80-2] INFO  Download - Returning 304: Not modified on conditional get of: C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\skins\Enterprise\load_skin.js
            === 2012-12-15 16:30:34,371 [80-6] INFO  Download - Returning 304: Not modified on conditional get of: C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\skins\Enterprise\skin_styles.css
            === 2012-12-15 16:30:34,465 [80-6] INFO  Download - Returning 304: Not modified on conditional get of: C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\skins\Enterprise\images\DynamicForm\unchecked.png
            === 2012-12-15 16:30:36,902 [80-6] INFO  RequestContext - URL: '/MSP/resources/isomorphic/DataSourceLoader', User-Agent: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0': Moz (Gecko) with Accept-Encoding header
            === 2012-12-15 16:30:36,904 [80-6] DEBUG XML - Parsed XML from (in memory stream): 1ms
            === 2012-12-15 16:30:36,910 [80-6] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\ServerObject.ds.xml: 1ms
            === 2012-12-15 16:30:36,953 [80-6] INFO  ServerObject - DMI on Spring bean: &hibernate_test
            === 2012-12-15 16:30:36,972 [80-6] ERROR DataSourceLoader - Exception while attempting to load a DataSource
            javax.servlet.jsp.JspException: Unable to load DataSource for ID: treeHqlQuery_hib_111
            	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:128)
            	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:94)
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
            	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
            	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
            	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
            	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            	at com.msp.filters.EncodingFilter.doFilter(EncodingFilter.java:30)
            	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
            	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
            	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
            	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
            	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
            	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
            	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
            	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
            	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
            	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
            	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
            	at java.lang.Thread.run(Thread.java:662)
            === 2012-12-15 16:30:36,976 [80-6] ERROR DataSourceLoader - Top-level servlet error: 
            javax.servlet.ServletException: javax.servlet.jsp.JspException: Unable to load DataSource for ID: treeHqlQuery_hib_111
            	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:128)
            	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:94)
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
            	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
            	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
            	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
            	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            	at com.msp.filters.EncodingFilter.doFilter(EncodingFilter.java:30)
            	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
            	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
            	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
            	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
            	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
            	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
            	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
            	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
            	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
            	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
            	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
            	at java.lang.Thread.run(Thread.java:662)
            
            	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:185)
            	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:94)
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
            	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
            	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
            	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
            	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            	at com.msp.filters.EncodingFilter.doFilter(EncodingFilter.java:30)
            	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
            	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
            	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
            	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
            	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
            	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
            	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
            	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
            	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
            	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
            	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
            	at java.lang.Thread.run(Thread.java:662)
            === 2012-12-15 16:30:36,984 [80-6] INFO  Compression - /MSP/resources/isomorphic/DataSourceLoader: 4395 -> 660 bytes
            and what I meant is that if I'm using these properties in server.properties file:

            Code:
            hibernate.config.lookupStyle: factory
            hibernate.config.className: com.msp.smartclient.HibernateSessionFactoryFetcher
            how do I know what methods I need to implement in the HibernateSessionFactoryFetcher class? because I couldn't find any information about that.
            Last edited by rotemy; 15 Dec 2012, 06:35. Reason: Spelling

            Comment


              #7
              The log we asked for was the complete log for the failing request. This is a log from startup showing some unrelated DataSourceLoader issue.

              Again, see the docs for ServerObject.lookupStyle for information on how to use lookupStyle:"factory". Note that lookupStyle:"factory" and lookupStyle:"spring" are distinct settings - "factory" does not require Spring.

              Comment


                #8
                I provided all the logs I get. I don't know what else I can show you. You can clearly see in the above messages all the information you need. So please try to help me.

                If you think there is more information I can provide, please guide me to how to provide it.

                Comment


                  #9
                  OK I figured out what is my problem.

                  The bean must extends either org.springframework.orm.hibernate3.LocalSessionFactoryBean or org.springframework.orm.hibernate4.LocalSessionFactoryBean. The null pointer exception occurred because we have the hibernate3.LocalSessionFactoryBean class in the classpath but not the hibernate4.LocalSessionFactoryBean plus the fact that the bean that is configured in the datasource configBean attribute doesn't extends one of the above classes.

                  Since we already have factory class that handles the Configuration and SessionFactory we have 3 choices.

                  1. Have both hibernate3.LocalSessionFactoryBean and hibernate4.LocalSessionFactoryBean in the classpath in order to avoid the null pointer exception and use this class in the bean definition. This option will work but is very ugly.

                  Code:
                  package com.msp.smartclient;
                  
                  import com.msp.dao.DaoFactory;
                  import org.hibernate.*;
                  import org.hibernate.cfg.Configuration;
                  import org.hibernate.classic.Session;
                  import org.hibernate.engine.FilterDefinition;
                  import org.hibernate.metadata.ClassMetadata;
                  import org.hibernate.metadata.CollectionMetadata;
                  import org.hibernate.stat.Statistics;
                  import org.springframework.beans.factory.FactoryBean;
                  
                  import javax.naming.NamingException;
                  import javax.naming.Reference;
                  import java.io.Serializable;
                  import java.sql.Connection;
                  import java.util.Map;
                  import java.util.Set;
                  
                  /**
                   *
                   */
                  public class HibernateSpringSessionFactory implements FactoryBean, SessionFactory {
                  // ------------------------------ FIELDS ------------------------------
                  
                      /**
                       *
                       */
                      private SessionFactory sessionFactory;
                  
                      /**
                       *
                       */
                      private String hibernateConfiguration;
                  
                  // --------------------------- CONSTRUCTORS ---------------------------
                  
                      /**
                       * @param hibernateConfiguration
                       */
                      public HibernateSpringSessionFactory(String hibernateConfiguration) throws Exception {
                  
                          this.hibernateConfiguration = hibernateConfiguration;
                  
                          this.sessionFactory = DaoFactory.getDaoFactory().getSessionFactory(String.format("%s.cfg.xml", hibernateConfiguration));
                  
                      }
                  
                  // ------------------------ INTERFACE METHODS ------------------------
                  
                  
                  // --------------------- Interface FactoryBean ---------------------
                  
                      /**
                       * @return
                       * @throws Exception
                       */
                      @Override
                      public Object getObject() throws Exception {
                          return this;
                      }
                  
                  
                      /**
                       * @return
                       */
                      @Override
                      public Class getObjectType() {
                          return SessionFactory.class;
                      }
                  
                      /**
                       * @return
                       */
                      @Override
                      public boolean isSingleton() {
                          return false;
                      }
                  
                  // --------------------- Interface Referenceable ---------------------
                  
                  
                      @Override
                      public Reference getReference() throws NamingException {
                          return this.sessionFactory.getReference();
                      }
                  
                  // --------------------- Interface SessionFactory ---------------------
                  
                  
                      @Override
                      public Session openSession() throws HibernateException {
                          return this.sessionFactory.openSession();
                      }
                  
                      @Override
                      public Session openSession(Interceptor interceptor) throws HibernateException {
                          return this.sessionFactory.openSession(interceptor);
                      }
                  
                      @Override
                      public Session openSession(Connection connection) {
                          return this.sessionFactory.openSession(connection);
                      }
                  
                      @Override
                      public Session openSession(Connection connection, Interceptor interceptor) {
                          return this.sessionFactory.openSession(connection, interceptor);
                      }
                  
                      @Override
                      public Session getCurrentSession() throws HibernateException {
                          return this.sessionFactory.getCurrentSession();
                      }
                  
                      @Override
                      public StatelessSession openStatelessSession() {
                          return this.sessionFactory.openStatelessSession();
                      }
                  
                      @Override
                      public StatelessSession openStatelessSession(Connection connection) {
                          return this.sessionFactory.openStatelessSession(connection);
                      }
                  
                      @Override
                      public ClassMetadata getClassMetadata(Class aClass) {
                          return this.sessionFactory.getClassMetadata(aClass);
                      }
                  
                      @Override
                      public ClassMetadata getClassMetadata(String s) {
                          return this.sessionFactory.getClassMetadata(s);
                      }
                  
                      @Override
                      public CollectionMetadata getCollectionMetadata(String s) {
                          return this.sessionFactory.getCollectionMetadata(s);
                      }
                  
                      @Override
                      public Map<String, ClassMetadata> getAllClassMetadata() {
                          return this.sessionFactory.getAllClassMetadata();
                      }
                  
                      @Override
                      public Map getAllCollectionMetadata() {
                          return this.sessionFactory.getAllCollectionMetadata();
                      }
                  
                      @Override
                      public Statistics getStatistics() {
                          return this.sessionFactory.getStatistics();
                      }
                  
                      @Override
                      public void close() throws HibernateException {
                          this.sessionFactory.close();
                      }
                  
                      @Override
                      public boolean isClosed() {
                          return this.sessionFactory.isClosed();
                      }
                  
                      @Override
                      public Cache getCache() {
                          return this.sessionFactory.getCache();
                      }
                  
                      @Override
                      @Deprecated
                      public void evict(Class aClass) throws HibernateException {
                          this.sessionFactory.evict(aClass);
                      }
                  
                      @Override
                      @Deprecated
                      public void evict(Class aClass, Serializable serializable) throws HibernateException {
                          this.sessionFactory.evict(aClass, serializable);
                      }
                  
                      @Override
                      @Deprecated
                      public void evictEntity(String s) throws HibernateException {
                          this.sessionFactory.evictEntity(s);
                      }
                  
                      @Override
                      @Deprecated
                      public void evictEntity(String s, Serializable serializable) throws HibernateException {
                          this.sessionFactory.evictEntity(s, serializable);
                      }
                  
                      @Override
                      @Deprecated
                      public void evictCollection(String s) throws HibernateException {
                          this.sessionFactory.evictCollection(s);
                      }
                  
                      @Override
                      @Deprecated
                      public void evictCollection(String s, Serializable serializable) throws HibernateException {
                          this.sessionFactory.evictCollection(s, serializable);
                      }
                  
                      @Override
                      @Deprecated
                      public void evictQueries(String s) throws HibernateException {
                          this.sessionFactory.evictQueries(s);
                      }
                  
                      @Override
                      @Deprecated
                      public void evictQueries() throws HibernateException {
                          this.sessionFactory.evictQueries();
                      }
                  
                      @Override
                      public Set getDefinedFilterNames() {
                          return this.sessionFactory.getDefinedFilterNames();
                      }
                  
                      @Override
                      public FilterDefinition getFilterDefinition(String s) throws HibernateException {
                          return this.sessionFactory.getFilterDefinition(s);
                      }
                  
                      @Override
                      public boolean containsFetchProfileDefinition(String s) {
                          return this.sessionFactory.containsFetchProfileDefinition(s);
                      }
                  
                      @Override
                      public TypeHelper getTypeHelper() {
                          return this.sessionFactory.getTypeHelper();
                      }
                  
                  // -------------------------- OTHER METHODS --------------------------
                  
                      /**
                       * @return
                       * @throws Exception
                       */
                      public Configuration getConfiguration() throws Exception {
                          return DaoFactory.getDaoFactory().getConfiguration(String.format("%s.cfg.xml", hibernateConfiguration));
                      }
                  }
                  2. Make the class in the bean definition extends the LocalSessionFactoryBean class and override some of the functions in order to achieve what we need but I see that the getConfiguration method in LocalSessionFactoryBean is final and I can't override it. So this options is problematic.

                  3. Feature sponsorship option. Have you configure an attribute on the DataSource that will allow me to configure different Configuration and SessionFactory for each DataSource.

                  What do you think I should do? If option number 3, how much time it will take you?

                  Comment


                    #10
                    About the logs - the log that the forums prompts you for, and that we will always request if you forget to provide it, is again the "complete log for the failing request". Not the log from server startup - the complete log for the failing request.

                    You showed an NPE, then when we asked for the complete log for the request that led to the NPE, you provided an unrelated log without that error - obviously not the right log.

                    Hopefully that is clear. We still need this log in order to understand how you could get this NPE.

                    And you still need to read the docs for ServerObject.lookupStyle "factory" because you seem to think this is related to Spring, but it isn't.

                    Comment


                      #11
                      I provided all the logs I have. I think I know why there is nullpointer exception please read the last post. For the lookup style factory issue, I found what I was looking for and I know that it's NOT related to spring.

                      Just to be sure, here is the entire log from the click of the button that generate the DataGrid to the exception.

                      Code:
                      === 2012-12-17 20:18:33,293 [80-2] INFO  RequestContext - URL: '/MSP/resources/isomorphic/DataSourceLoader', User-Agent: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0': Moz (Gecko) with Accept-Encoding header
                      === 2012-12-17 20:18:33,295 [80-2] DEBUG XML - Parsed XML from (in memory stream): 1ms
                      === 2012-12-17 20:18:33,304 [80-2] DEBUG XML - Parsed XML from C:\Projects\MSP\Rotemy IOF\out\exploded\ProjectsMSP\resources\isomorphic\system\schema\ServerObject.ds.xml: 1ms
                      === 2012-12-17 20:18:33,362 [80-2] INFO  ServerObject - DMI on Spring bean: &hibernate_test
                      java.lang.NullPointerException
                      	at com.isomorphic.hibernate.HibernateDataSource.initConfigAndSessionFactory(HibernateDataSource.java:549)
                      	at com.isomorphic.hibernate.HibernateDataSource.init(HibernateDataSource.java:333)
                      	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:400)
                      	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:163)
                      	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:385)
                      	at com.isomorphic.datasource.DataSource.fromXML(DataSource.java:544)
                      	at com.isomorphic.datasource.DataSource.fromXML(DataSource.java:513)
                      	at com.msp.smartclient.datasource.DynamicTreeDSGenerator.getDataSource(DynamicTreeDSGenerator.java:33)
                      	at com.isomorphic.datasource.DataSource.getDynamicDataSource(DataSource.java:364)
                      	at com.isomorphic.datasource.DataSource.forName(DataSource.java:202)
                      	at com.isomorphic.datasource.DataSource.forName(DataSource.java:195)
                      	at com.isomorphic.datasource.DataSource.forName(DataSource.java:184)
                      	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:119)
                      	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:127)
                      	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:94)
                      	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:89)
                      	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:83)
                      	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:126)
                      	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:94)
                      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
                      	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
                      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                      	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
                      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                      	at com.msp.filters.EncodingFilter.doFilter(EncodingFilter.java:30)
                      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
                      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
                      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
                      	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
                      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
                      	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
                      	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
                      	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
                      	at java.lang.Thread.run(Thread.java:662)
                      === 2012-12-17 20:18:33,384 [80-2] ERROR DataSourceLoader - Exception while attempting to load a DataSource
                      javax.servlet.jsp.JspException: Unable to load DataSource for ID: treeHqlQuery_hib_111
                      	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:128)
                      	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:94)
                      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
                      	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
                      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                      	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
                      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                      	at com.msp.filters.EncodingFilter.doFilter(EncodingFilter.java:30)
                      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
                      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
                      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
                      	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
                      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
                      	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
                      	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
                      	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
                      	at java.lang.Thread.run(Thread.java:662)
                      === 2012-12-17 20:18:33,386 [80-2] ERROR DataSourceLoader - Top-level servlet error: 
                      javax.servlet.ServletException: javax.servlet.jsp.JspException: Unable to load DataSource for ID: treeHqlQuery_hib_111
                      	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:128)
                      	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:94)
                      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
                      	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
                      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                      	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
                      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                      	at com.msp.filters.EncodingFilter.doFilter(EncodingFilter.java:30)
                      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
                      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
                      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
                      	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
                      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
                      	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
                      	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
                      	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
                      	at java.lang.Thread.run(Thread.java:662)
                      
                      	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:185)
                      	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:94)
                      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
                      	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
                      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                      	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
                      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                      	at com.msp.filters.EncodingFilter.doFilter(EncodingFilter.java:30)
                      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
                      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
                      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
                      	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
                      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
                      	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
                      	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
                      	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
                      	at java.lang.Thread.run(Thread.java:662)
                      === 2012-12-17 20:18:33,388 [80-2] INFO  Compression - /MSP/resources/isomorphic/DataSourceLoader: 4395 -> 660 bytes
                      Please read the last post, I pretty sure I know why there is nullpointer exception.

                      Comment


                        #12
                        I've noticed that I was logged with another user. This is the user with the premium support plan.

                        Comment


                          #13
                          A developer has been assigned to look into this, but he is in a European timezone so please bear with us.

                          Comment


                            #14
                            Thank you. European timezone is good for me because I'm from Israel.

                            Comment


                              #15
                              Is there any news for this issue?

                              Comment

                              Working...
                              X