Well, I have configured a test app to use hibernate and I have a few problems (and a bit of success):
I was able to get the same code working from a servlet, but when trying to get data I get an exception when running from a @Service (in the @PostConstruct method): [21:26:06.430] {main} java.lang.IllegalStateException: EntityManagerTransactionProxy[test,null]: @PersistenceContext EntityManager may not be used outside of a transaction [21:26:06.430] {main} at com.caucho.amber.manager.EntityManagerTransactionProxy.getCurrent(EntityManagerTransactionProxy.java:408) [21:26:06.430] {main} at com.caucho.amber.manager.EntityManagerTransactionProxy.createQuery(EntityManagerTransactionProxy.java:193) [21:26:06.430] {main} at test2.services.InitDBService.checkDBandInit(InitDBService.java:47) [21:26:06.430] {main} at test2.services.InitDBService.postConstruct(InitDBService.java:36) [21:26:06.430] {main} at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [21:26:06.430] {main} at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [21:26:06.430] {main} at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [21:26:06.430] {main} at java.lang.reflect.Method.invoke(Method.java:597) [21:26:06.430] {main} at com.caucho.config.j2ee.PostConstructProgram.inject(PostConstructProgram.java:121) [21:26:06.430] {main} at com.caucho.config.inject.ComponentImpl.init(ComponentImpl.java:344) [21:26:06.430] {main} at com.caucho.config.inject.SimpleBean.create(SimpleBean.java:421) [21:26:06.430] {main} at com.caucho.config.scope.ScopeContext.get(ScopeContext.java:90) [21:26:06.430] {main} at com.caucho.config.inject.InjectManager.getInstanceRec(InjectManager.java:1331) [21:26:06.430] {main} at com.caucho.config.inject.InjectManager.getInstance(InjectManager.java:1288) [21:26:06.430] {main} at com.caucho.config.inject.InjectManager.getInstance(InjectManager.java:1345) [21:26:06.430] {main} at com.caucho.server.webbeans.ResinWebBeansProducer.serviceStartup(ResinWebBeansProducer.java:167) [21:26:06.430] {main} at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [21:26:06.430] {main} at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [21:26:06.430] {main} at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [21:26:06.430] {main} at java.lang.reflect.Method.invoke(Method.java:597) [21:26:06.430] {main} at com.caucho.config.event.ObserverImpl.notify(ObserverImpl.java:191) [21:26:06.430] {main} at com.caucho.config.inject.ObserverMap.fireEvent(ObserverMap.java:82) [21:26:06.430] {main} at com.caucho.config.inject.InjectManager.fireEventImpl(InjectManager.java:1559) [21:26:06.430] {main} at com.caucho.config.inject.InjectManager.fireEventImpl(InjectManager.java:1540) [21:26:06.430] {main} at com.caucho.config.inject.InjectManager.fireEventImpl(InjectManager.java:1540) [21:26:06.430] {main} at com.caucho.config.inject.InjectManager.fireEventImpl(InjectManager.java:1540) [21:26:06.430] {main} at com.caucho.config.inject.InjectManager.fireEventImpl(InjectManager.java:1540) [21:26:06.430] {main} at com.caucho.config.inject.InjectManager.fireEvent(InjectManager.java:1534) [21:26:06.430] {main} at com.caucho.config.inject.InjectManager.registerBean(InjectManager.java:2066) [21:26:06.430] {main} at com.caucho.config.inject.InjectManager.registerBean(InjectManager.java:2044) [21:26:06.430] {main} at com.caucho.config.inject.InjectManager.registerBean(InjectManager.java:2047) [21:26:06.430] {main} at com.caucho.config.inject.InjectManager.startServices(InjectManager.java:2013) [21:26:06.430] {main} at com.caucho.config.inject.InjectManager.environmentStart(InjectManager.java:1993) [21:26:06.430] {main} at com.caucho.loader.EnvironmentClassLoader.start(EnvironmentClassLoader.java:703) [21:26:06.430] {main} at com.caucho.server.webapp.WebApp.start(WebApp.java:2021) [21:26:06.430] {main} at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:678) [21:26:06.430] {main} at com.caucho.server.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:72) [21:26:06.430] {main} at com.caucho.server.deploy.DeployController.startOnInit(DeployController.java:549) [21:26:06.430] {main} at com.caucho.server.deploy.DeployContainer.start(DeployContainer.java:160) [21:26:06.430] {main} at com.caucho.server.webapp.WebAppContainer.startImpl(WebAppContainer.java:681) [21:26:06.430] {main} at com.caucho.server.host.Host.startImpl(Host.java:496) [21:26:06.430] {main} at com.caucho.server.webapp.WebAppContainer.start(WebAppContainer.java:661) [21:26:06.430] {main} at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:678) [21:26:06.430] {main} at com.caucho.server.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:72) [21:26:06.430] {main} at com.caucho.server.deploy.DeployController.startOnInit(DeployController.java:549) [21:26:06.430] {main} at com.caucho.server.deploy.DeployContainer.start(DeployContainer.java:160) [21:26:06.430] {main} at com.caucho.server.host.HostContainer.start(HostContainer.java:484) [21:26:06.430] {main} at com.caucho.server.cluster.Server.start(Server.java:1737) [21:26:06.430] {main} at com.caucho.server.resin.Resin.createServer(Resin.java:862) [21:26:06.430] {main} at com.caucho.server.resin.Resin.start(Resin.java:924) [21:26:06.430] {main} at com.caucho.server.resin.Resin.initMain(Resin.java:1388) [21:26:06.430] {main} at com.caucho.server.resin.Resin.main(Resin.java:1570) trying to use entityManager.getTransaction().begin got me this exception: java.lang.IllegalStateException: Container-manager @PersistenceContext may not use getTransaction. I'm guessing that the problem is that the @Service post construction is happened too soon, maybe. [snip] _______________________________________________ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest