multi-tenant / grails-multi-tenant-single-db

Multi Tenant implementation for single database environments - Use grails-filtering and grails-hibernate-hijacker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ERROR context.GrailsContextLoader - Error executing bootstraps: $Proxy28 cannot be cast to org.hibernate.impl.SessionFactoryImpl

pbranco79 opened this issue · comments

Hi all,
I'd really appreciate if someone could help me. I am trying to use this plugin, but it seems to be incompatible with probably the Searchable plugin. Does anybody know how to fix this issue? I’ve research a lot on the web, but I didn’t see anything helpful.
Thank you a lot

| Loading Grails 2.0.4
| Configuring classpath.
| Environment set to development.....
| Packaging Grails application.....
| Compiling 1 source files.....
| Running Grails application

Configuring Spring Security UI ...
... finished configuring Spring Security UI

Configuring Spring Security Core ...
... finished configuring Spring Security Core

| Error 2013-04-04 18:34:28,421 [pool-7-thread-1] ERROR context.GrailsContextLoader - Error executing bootstraps: $Proxy28 cannot be cast to org.hibernate.impl.SessionFactoryImpl
Message: $Proxy28 cannot be cast to org.hibernate.impl.SessionFactoryImpl
Line | Method
->> 95 | injectLifecycle in org.compass.gps.device.hibernate.lifecycle.DefaultHibernateEntityLifecycleInjector


| 46 | injectLifecycle in org.compass.gps.device.hibernate.lifecycle.DefaultHibernateEntityCollectionLifecycleInjector
| 147 | doStart . . . . in org.compass.gps.device.hibernate.HibernateGpsDevice
| 124 | start in org.compass.gps.device.AbstractGpsDevice
| 73 | start . . . . . in org.compass.gps.device.support.parallel.AbstractParallelGpsDevice
| 166 | start in org.compass.gps.impl.AbstractCompassGps
| 150 | doCall . . . . in SearchableGrailsPlugin$_closure3
| 334 | innerRun in java.util.concurrent.FutureTask$Sync
| 166 | run . . . . . . in java.util.concurrent.FutureTask
| 1110 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 603 | run . . . . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 722 | run in java.lang.Thread

The problem seems to be that DefaultHibernateEntityLifecycleInjector casts SessionFactory to SessionFactoryImpl.

http://svn.opensymphony.com/svn/compass/trunk/src/main/src/org/compass/gps/device/hibernate/lifecycle/DefaultHibernateEntityLifecycleInjector.java

Don't think it'll be easy to work around that in this plugin. You might have some luck with disabling DefaultHibernateEntityLifecycleInjector and manually registering those event listeners with Hibernate using Hibernate Hijacker.