Announcement

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

  • Isomorphic
    replied
    Hi Joe,

    We've been looking at this since yesterday - check your email, you've been notified more than once by our staff.

    Leave a comment:


  • joe.parks@hyperproductive.com
    replied
    Is there any more information that I can provide to help diagnose the problem?

    Leave a comment:


  • joe.parks@hyperproductive.com
    replied
    I get the same error using the latest build of 3.0p,

    16:59:13,907 INFO [STDOUT] === 2012-08-14 16:59:13,907 [main] INFO ISCInit - Isomorphic SmartClient Framework (v8.2p_2012-08-14/Enterprise Deployment 2012-08-14) - Initialization Complete

    ...

    17:00:15,499 INFO [STDOUT] === 2012-08-14 17:00:15,499 [80-2] DEBUG HibernateDataSource - Looking up session factory with lookup style 'spring'
    17:00:15,540 INFO [STDOUT] === 2012-08-14 17:00:15,540 [80-2] WARN HibernateDataSource - Factory bean is not an instance of either org.springframework.orm.hibernate3.LocalSessionFactoryBean or org.springframework.orm.hibernate4.LocalSessionFactoryBean class - is Spring correctly installed and configured?
    17:00:15,543 INFO [STDOUT] === 2012-08-14 17:00:15,541 [80-2] ERROR DataSourceLoader - Exception while attempting to load a DataSource
    java.lang.Exception: Failed to lookup Hibernate sessionFactory via Spring bean &sessionFactory.
    at com.isomorphic.hibernate.HibernateDataSource.initStaticConfigAndSessionFactory(HibernateDataSource.java:524)
    at com.isomorphic.hibernate.HibernateDataSource.getConfigFromMappedClass(HibernateDataSource.java:4841)
    at com.isomorphic.hibernate.HibernateDataSource.fromMappedClass(HibernateDataSource.java:4819)
    at com.isomorphic.hibernate.HibernateDataSource.init(HibernateDataSource.java:172)
    at com.isomorphic.datasource.DataSource.initialize(DataSource.java:374)
    at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:158)
    at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:359)
    at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    at com.isomorphic.datasource.DataSource.forName(DataSource.java:178)
    at com.isomorphic.datasource.DataSource.forName(DataSource.java:170)
    at com.isomorphic.datasource.DataSource.forName(DataSource.java:165)
    at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
    at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
    at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
    at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
    at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:109)
    at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:83)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)

    Leave a comment:


  • joe.parks@hyperproductive.com
    replied
    I updated the servlet to also perform some comparisons against org.hibernate.SessionFactory.

    Code:
    final boolean assignableFrom = SessionFactory.class.isAssignableFrom(sessionFactoryBean.getClass());
    out.println("<br/>");
    out.println("assignableFrom: " + assignableFrom);
    final boolean isAnInstanceOf = (sessionFactoryBean instanceof SessionFactory);
    out.println("<br/>");
    out.println("instanceOf: " + isAnInstanceOf);
    Here's the updated output:
    Code:
    sessionFactoryBean class: class org.hibernate.internal.SessionFactoryImpl 
    assignableFrom: true 
    instanceOf: true

    Leave a comment:


  • joe.parks@hyperproductive.com
    replied
    I wrote a quick servlet to see what was coming back from the Spring context:
    Code:
    public class HelloServlet extends HttpServlet {
    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    			throws ServletException, IOException {
    		resp.setContentType("text/html");
    		final PrintWriter out = resp.getWriter();
    		out.println("<html><head><title>Hello</title></head><body>");
    		try {
    			final WebApplicationContext applicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
    			final Object sessionFactoryBean = applicationContext.getBean("sessionFactory");
    			out.println("sessionFactoryBean class: " + sessionFactoryBean.getClass());
    		} catch (Exception e) {
    			out.println("<pre>");
    			e.printStackTrace(out);
    			out.println("</pre>");
    		}
    		out.println("</body></html>");
    		out.flush();
    	}
    }
    Here's the output:
    Code:
    sessionFactoryBean class: class org.hibernate.internal.SessionFactoryImpl

    Leave a comment:


  • joe.parks@hyperproductive.com
    replied
    I upgraded to Hibernate 4, so that I could use the appropriate LocalSessionFactoryBean directly. (The hibernate4 LocalSessionFactoryBean enables annotation scanning, rather than needing the Spring subclass for hibernate3 that enables annotation scanning.)

    Now I get an error & stack trace:
    Code:
    13:58:52,210 INFO  [STDOUT] === 2012-08-14 13:58:52,210 [80-1] DEBUG DataSource - In DS.forName() for 'book' with DSRequest: null
    13:58:52,211 INFO  [STDOUT] === 2012-08-14 13:58:52,211 [80-1] DEBUG HibernateDataSource - Looking up session factory with lookup style 'spring'
    13:58:52,211 INFO  [STDOUT] === 2012-08-14 13:58:52,211 [80-1] WARN  HibernateDataSource - Factory bean is not an instance of either org.springframework.orm.hibernate3.LocalSessionFactoryBean or org.springframework.orm.hibernate4.LocalSessionFactoryBean class - is Spring correctly installed and configured?
    13:58:52,213 INFO  [STDOUT] === 2012-08-14 13:58:52,211 [80-1] ERROR DataSourceLoader - Exception while attempting to load a DataSource
    java.lang.Exception: Failed to lookup Hibernate sessionFactory via Spring bean &sessionFactory.
    	at com.isomorphic.hibernate.HibernateDataSource.initStaticConfigAndSessionFactory(HibernateDataSource.java:580)
    	at com.isomorphic.hibernate.HibernateDataSource.getConfigFromMappedClass(HibernateDataSource.java:5025)
    	at com.isomorphic.hibernate.HibernateDataSource.fromMappedClass(HibernateDataSource.java:5003)
    	at com.isomorphic.hibernate.HibernateDataSource.init(HibernateDataSource.java:217)
    	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.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:204)
    	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 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
    	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
    	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    	at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
    	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	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 org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    	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:235)
    	at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
    	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
    	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
    	at org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:127)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.internalProcess(ActiveRequestResponseCacheValve.java:74)
    	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:47)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:599)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
    	at java.lang.Thread.run(Thread.java:662)
    Here is the Spring configuration:
    Code:
    	<bean id="sessionFactory"
    		class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    		<property name="dataSource" ref="myDataSource" />
    		<property name="packagesToScan" value="com.examples" />
    		<property name="hibernateProperties">
    			<value>
    				hibernate.show_sql=true
    				hibernate.validator.apply_to_ddl=false
                    hibernate.validator.autoregister_listeners=false
                </value>
    		</property>
    	</bean>

    Leave a comment:


  • joe.parks@hyperproductive.com
    replied
    Looking at the log, it doesn't seem to recognize that
    Code:
    org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
    is an extension of
    Code:
    org.springframework.orm.hibernate3.LocalSessionFactoryBean

    Leave a comment:


  • 3.1d Hibernate DataSource Regression

    I'm trying to migrate a new application to 3.1d, as it seems likely that 3.1 will be released before development is complete.
    The behavior of the HibernateDataSource, though, has changed. None of the annotated fields are being automatically declared in the auto-inherited datasource object.
    Here is the annotated class:
    Code:
    package com.examples;
    
    import java.util.Date;
    
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Table;
    
    @Entity
    @Table(name="BOOK")
    public class Book {
    	private Long id;
    	private String title;
    	private Date datePublished;
    	/**
    	 * @return the id
    	 */
    	@GeneratedValue(strategy = GenerationType.IDENTITY)
    	@Id
    	@Column(name="BOOK_ID")
    	public Long getId() {
    		return id;
    	}
    	/**
    	 * @param id the id to set
    	 */
    	public void setId(Long id) {
    		this.id = id;
    	}
    	/**
    	 * @return the title
    	 */
    	@Column(name="BOOK_TITLE")
    	public String getTitle() {
    		return title;
    	}
    	/**
    	 * @param title the title to set
    	 */
    	public void setTitle(String title) {
    		this.title = title;
    	}
    	/**
    	 * @return the datePublished
    	 */
    	@Column(name="DATE_PUBLISHED")
    	public Date getDatePublished() {
    		return datePublished;
    	}
    	/**
    	 * @param datePublished the datePublished to set
    	 */
    	public void setDatePublished(Date datePublished) {
    		this.datePublished = datePublished;
    	}
    	
    	
    }
    Here is book.ds.xml:
    Code:
    <DataSource ID="book" serverType="hibernate"
    	beanClassName="com.examples.Book" 
    	schemaBean="com.examples.Book">
    	<fields>
    		<field name="id" type="sequence" hidden="true" primaryKey="true" />
     	</fields>
    </DataSource>
    Here is the output using v3.0 of the DataSourceLoader servlet:
    Code:
    isc.DataSource.create({
        ID:"book",
        inheritsFrom:isc.DataSource.create({
            xmlFromConfig:"true",
            ID:"book_inheritsFrom",
            dataSourceVersion:"1",
            entityName:"com.samples.Book",
            serverType:"hibernate",
            generatedBy:"v8.2p_2012-04-30/Enterprise Deployment 2012-04-30",
            fields:[
                {
                    name:"id",
                    type:"integer"
                },
                {
                    name:"title",
                    type:"text"
                },
                {
                    name:"datePublished",
                    type:"date"
                }
            ]
        })
    ,
        fields:[
            {
                hidden:true,
                primaryKey:true,
                name:"id",
                type:"sequence"
            }
        ],
        serverType:"hibernate"
    })
    And here is the output using 3.1d of the DataSourceLoader servlet:
    Code:
    if (window.isc == undefined || window.isc.DataSource == undefined){  alert("Can't load DataSources - SmartClient runtime not loaded");}isc.DataSource.create({
        allowAdvancedCriteria:true,
        ID:"book",
        autoDeriveSchema:true,
        inheritsFrom:isc.DataSource.create({
            allowAdvancedCriteria:true,
            dropExtraFields:true,
            ID:"Book_inheritsFrom",
            serverType:"hibernate",
            generatedBy:"SNAPSHOT_v8.3d_2012-08-13/Enterprise Deployment 2012-08-13",
            fields:[
            ]
        })
    ,
        fields:[
            {
                hidden:true,
                primaryKey:true,
                name:"id",
                type:"sequence"
            }
        ],
        serverType:"hibernate"
    })
    Last edited by joe.parks@hyperproductive.com; 15 Aug 2012, 04:34. Reason: Found the problem in latest 3.0p as well
Working...
X