Return-Path: Delivered-To: apmail-hivemind-user-archive@www.apache.org Received: (qmail 73381 invoked from network); 6 Dec 2006 10:18:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Dec 2006 10:18:26 -0000 Received: (qmail 94100 invoked by uid 500); 6 Dec 2006 10:18:34 -0000 Delivered-To: apmail-hivemind-user-archive@hivemind.apache.org Received: (qmail 94091 invoked by uid 500); 6 Dec 2006 10:18:34 -0000 Mailing-List: contact user-help@hivemind.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hivemind.apache.org Delivered-To: mailing list user@hivemind.apache.org Received: (qmail 94082 invoked by uid 99); 6 Dec 2006 10:18:34 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Dec 2006 02:18:34 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of lists@nabble.com designates 72.21.53.35 as permitted sender) Received: from [72.21.53.35] (HELO talk.nabble.com) (72.21.53.35) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 Dec 2006 02:18:22 -0800 Received: from [72.21.53.38] (helo=jubjub.nabble.com) by talk.nabble.com with esmtp (Exim 4.50) id 1Grtqj-0005aw-E0 for user@hivemind.apache.org; Wed, 06 Dec 2006 02:18:01 -0800 Message-ID: <7716730.post@talk.nabble.com> Date: Wed, 6 Dec 2006 02:18:01 -0800 (PST) From: Henry Tong To: user@hivemind.apache.org Subject: RE: Acquiring session not in a tapestry page error In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: henrytong.pi@gmail.com References: <7713160.post@talk.nabble.com> <7715924.post@talk.nabble.com> X-Virus-Checked: Checked by ClamAV on apache.org Dear Marcus, Thank you for your prompt reply. I am using Tapestry 4.0.2 and Honeycomb 0.3.3. For testing purpose, I have changed the configuration file as follows. 1. Create another Hibernate Eager Load Session 2. Create Dao Service (which extends AbstractPersistenceService) that use Hibernate EagerLoad Session HibernateEagerLoadSession 3. The web project use default honeycomb hibernate session and default honeycomb hibernate session factory. The same errors prompt. Any suggestions? ERROR! [Timer-0] org.hibernate.impl.SessionImpl.beforeTransactionCompletion(SessionImpl.java:399) >15> exception in interceptor beforeTransactionCompletion() java.lang.NullPointerException: Property 'webRequest' of is null. at $WebRequest_10f574018b1._targetServiceProperty($WebRequest_10f574018b1.java) at $WebRequest_10f574018b1.getSession($WebRequest_10f574018b1.java) at $WebRequest_10f57401872.getSession($WebRequest_10f57401872.java) at org.apache.tapestry.engine.state.SessionScopeManager.getSession(SessionScopeManager.java:48) at org.apache.tapestry.engine.state.SessionScopeManager.get(SessionScopeManager.java:64) at $StateObjectPersistenceManager_10f574018a9.get($StateObjectPersistenceManager_10f574018a9.java) at org.apache.tapestry.engine.state.StateObjectManagerImpl.get(StateObjectManagerImpl.java:50) at org.apache.tapestry.engine.state.ApplicationStateManagerImpl.get(ApplicationStateManagerImpl.java:60) at $ApplicationStateManager_10f5740184a.get($ApplicationStateManager_10f5740184a.java) at $ApplicationStateManager_10f5740184b.get($ApplicationStateManager_10f5740184b.java) at com.javaforge.honeycomb.tapestry.ConversationManagerImpl.getCurrentConversation(ConversationManagerImpl.java:59) at $ConversationManager_10f574018a0.getCurrentConversation($ConversationManager_10f574018a0.java) at $ConversationManager_10f5740189e.getCurrentConversation($ConversationManager_10f5740189e.java) at com.javaforge.honeycomb.tapestry.ConversationalClientStateStorage.retrieve(ConversationalClientStateStorage.java:26) at $ClientStateStorage_10f5740188f.retrieve($ClientStateStorage_10f5740188f.java) at com.javaforge.honeycomb.hivemind.statefulservice.StatefulServiceModel.getServiceFromClientStateStorage(StatefulServiceModel.java:241) at com.javaforge.honeycomb.hivemind.statefulservice.StatefulServiceModel.obtainPooledService(StatefulServiceModel.java:229) at com.javaforge.honeycomb.hivemind.statefulservice.StatefulServiceModel.getServiceImplementationForCurrentThread(StatefulServiceModel.java:211) at $Session_10f57401891._service($Session_10f57401891.java) at $Session_10f57401891.getSession($Session_10f57401891.java) at $Session_10f57401892.getSession($Session_10f57401892.java) at $Session_10f57401893.getSession($Session_10f57401893.java) at com.javaforge.honeycomb.hibernate.audit.AuditInterceptor.getAuditSession(AuditInterceptor.java:138) at com.javaforge.honeycomb.hibernate.audit.AuditInterceptor.beforeTransactionCompletion(AuditInterceptor.java:145) at $Interceptor_10f5740188c.beforeTransactionCompletion($Interceptor_10f5740188c.java) at $Interceptor_10f5740188d.beforeTransactionCompletion($Interceptor_10f5740188d.java) at org.hibernate.impl.SessionImpl.beforeTransactionCompletion(SessionImpl.java:396) at org.hibernate.jdbc.JDBCContext.beforeTransactionCompletion(JDBCContext.java:202) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:111) at com.javaforge.honeycomb.service.AbstractPersistenceService.commit(AbstractPersistenceService.java:61) at $GenericDao_10f5740189c.commit($GenericDao_10f5740189c.java) at pihk.pacconmini.server.service.jpop.impl.RecordUploadImpl.saveOrUpdateRecord(RecordUploadImpl.java:78) at pihk.pacconmini.server.service.jpop.impl.RecordUploadImpl.upload(RecordUploadImpl.java:45) at $RecordUpload_10f57401896.upload($RecordUpload_10f57401896.java) at pihk.pacconmini.server.service.jpop.impl.DataUploadImpl.startToRun(DataUploadImpl.java:132) at pihk.pacconmini.server.service.jpop.impl.DataUploadImpl.run(DataUploadImpl.java:73) at $DataUpload_10f57401818.run($DataUpload_10f57401818.java) at pihk.pacconmini.server.service.jpop.impl.DataReplicateImpl.process(DataReplicateImpl.java:129) at pihk.pacconmini.server.service.jpop.impl.DataReplicateImpl$1.run(DataReplicateImpl.java:82) at java.util.TimerThread.mainLoop(Unknown Source) at java.util.TimerThread.run(Unknown Source) Henry Schulte Marcus wrote: > > Dear Henry, > > replying inline: > >> -----Original Message----- >> From: Henry Tong [mailto:henrytong.pi@gmail.com] >> Sent: Wednesday, December 06, 2006 10:19 AM >> To: user@hivemind.apache.org >> Subject: RE: Acquiring session not in a tapestry page error >> >> >> 1. Create two session service >> > interface='org.hibernate.Session'> >> > model='threaded'/> >> >> > > You can continue to use the pre-configured Honeycomb-Session for the > Web-Requests. > You should only need to add the EagerLoadSession > >> >> > interface='org.hibernate.Session'> >> > model='threaded'/> >> >> >> 2. Create one session factory only (we use >> createCoreServiceImplementation(...) to create session) >> > interface='org.apache.hivemind.ServiceImplementationFactory'> >> >> >> > >> service-id='honeycomb.hibernate.HibernateSessionFactory'/> >> >> >> >> > > Again, you should be fine with the pre-configured session-factory - > unless you want to override something anyway. It seems, you're using > your own implementation of a > session-factory which delegates to the Honeycomb-Session-Factory. There > may be a good reason for that, but I don't think it's necessary for the > problem you described in this thread. > >> 3. The Data Upload Service use the HiberateEagerLoadSession Service. >> >> We are using honeycomb AbstractPersistenceService to update >> data in the database in the web app project. Can we use >> AbstractPersistenceService in the data upload service? > > Yes, you can. Just configure a separate instance in HiveMind using your > EagerLoad-HIbernateService. > >> >> Henry >> >> >> Schulte Marcus wrote: >> > >> > Sorry, follow-up: >> > >> > You should get away with just defining a new hibernate >> session service >> > with a non-stateful service-model (say threaded), keeping the same >> > SessionFactory. >> > >> >> -----Original Message----- >> >> From: Marcus.Schulte@bmw.ch [mailto:Marcus.Schulte@bmw.ch] >> >> Sent: Wednesday, December 06, 2006 8:15 AM >> >> To: user@hivemind.apache.org >> >> Subject: RE: Acquiring session not in a tapestry page error >> >> >> >> Hi Henry, >> >> >> >> the Hibernate Session in Honeycomb is per default configure as a >> >> "stateful" service to support session-per-conversation. >> >> That means, the service-model stores the Hibernate-Session >> into the >> >> conversation-context which is, in a Tapestry context, the >> >> Web-Session. A web session is, of course, not available in your >> >> initial load. >> >> >> >> I'd suggest that you configure a different Hibernate >> SessionFactory >> >> and Session service (you can use the same >> SessionFactory-Config-Point >> >> to minimize redundancy) and use that one with your periodically >> >> triggered loading service. >> >> >> >> hth, >> >> Marcus >> >> >> >> > -----Original Message----- >> >> > From: Henry Tong [mailto:henrytong.pi@gmail.com] >> >> > Sent: Wednesday, December 06, 2006 4:54 AM >> >> > To: user@hivemind.apache.org >> >> > Subject: Acquiring session not in a tapestry page error >> >> > >> >> > >> >> > Hi, >> >> > >> >> > Our team started a tapestry / honeycomb / hivemind / >> >> hibernate web app >> >> > project. A data upload service is needed to load data to >> >> the database >> >> > and therefore a hivemind eagerload service is written to >> run this >> >> > periodical task. As we want to share the same honeycomb session >> >> > factory, we inject hibernate session to the service while the >> >> > hibernate session is getted from the honeycomb session factory. >> >> > >> >> > When we tries to save data to the database, the data is >> >> still saved to >> >> > the database but the following exception occurs: >> >> > Property 'webRequest' of > >> > tapestry.globals.RequestGlobals( >> >> > org.apache.tapestry.services.RequestGlobals)> is null. >> >> > at >> >> > $WebRequest_10f5595850c._targetServiceProperty($WebRequest_10f >> >> 5595850c.java) >> >> > at >> $WebRequest_10f5595850c.getSession($WebRequest_10f5595850c.java) >> >> > at >> $WebRequest_10f559584c5.getSession($WebRequest_10f559584c5.java) >> >> > at >> org.apache.tapestry.engine.state.SessionScopeManager.getSession( >> >> > SessionScopeManager.java:48) >> >> > at org.apache.tapestry.engine.state.SessionScopeManager.get( >> >> > SessionScopeManager.java:64) >> >> > at >> >> > $StateObjectPersistenceManager_10f55958599.get($StateObjectPer >> >> sistenceManager_10f55958599.java) >> >> > at org.apache.tapestry.engine.state.StateObjectManagerImpl.get( >> >> > StateObjectManagerImpl.java:50) >> >> > at >> >> > org.apache.tapestry.engine.state.ApplicationStateManagerImpl.get( >> >> > ApplicationStateManagerImpl.java:60) >> >> > at >> >> > $ApplicationStateManager_10f5595849d.get($ApplicationStateMana >> >> ger_10f5595849d.java) >> >> > at >> >> > $ApplicationStateManager_10f5595849e.get($ApplicationStateMana >> >> ger_10f5595849e.java) >> >> > at >> >> > com.javaforge.honeycomb.tapestry.ConversationManagerImpl.getCu >> >> > rrentConversation >> >> > (ConversationManagerImpl.java:59) >> >> > at >> >> > $ConversationManager_10f55958590.getCurrentConversation($Conve >> >> rsationManager_10f55958590.java) >> >> > at >> >> > $ConversationManager_10f55958589.getCurrentConversation($Conve >> >> rsationManager_10f55958589.java) >> >> > at >> >> > com.javaforge.honeycomb.tapestry.ConversationalClientStateStor >> >> > age.retrieve( >> >> > ConversationalClientStateStorage.java:26) >> >> > at >> >> > $ClientStateStorage_10f5595858b.retrieve($ClientStateStorage_1 >> >> 0f5595858b.java) >> >> > at >> >> > com.javaforge.honeycomb.hivemind.statefulservice.StatefulServi >> >> > ceModel.getServiceFromClientStateStorage >> >> > (StatefulServiceModel.java:241) >> >> > at >> >> > com.javaforge.honeycomb.hivemind.statefulservice.StatefulServi >> >> > ceModel.obtainPooledService >> >> > (StatefulServiceModel.java:229) >> >> > at >> >> > com.javaforge.honeycomb.hivemind.statefulservice.StatefulServi >> >> > ceModel.getServiceImplementationForCurrentThread >> >> > (StatefulServiceModel.java:211) >> >> > at $Session_10f5595858d._service($Session_10f5595858d.java) >> >> > at $Session_10f5595858d.getSession($Session_10f5595858d.java) >> >> > at $Session_10f5595858e.getSession($Session_10f5595858e.java) >> >> > at $Session_10f5595858f.getSession($Session_10f5595858f.java) >> >> > at >> >> > com.javaforge.honeycomb.hibernate.audit.AuditInterceptor.getAu >> >> > ditSession( >> >> > AuditInterceptor.java:138) >> >> > at >> >> > com.javaforge.honeycomb.hibernate.audit.AuditInterceptor.befor >> >> > eTransactionCompletion >> >> > (AuditInterceptor.java:145) >> >> > at >> >> > $Interceptor_10f559585a6.beforeTransactionCompletion($Intercep >> >> > tor_10f559585a6.java) >> >> > at >> >> > $Interceptor_10f559585a7.beforeTransactionCompletion($Intercep >> >> > tor_10f559585a7.java) >> >> > at org.hibernate.impl.SessionImpl.beforeTransactionCompletion( >> >> > SessionImpl.java:396) >> >> > at org.hibernate.jdbc.JDBCContext.beforeTransactionCompletion( >> >> > JDBCContext.java:202) >> >> > at >> >> > >> >> >> org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java >> >> > :111) >> >> > at >> >> com.javaforge.honeycomb.service.AbstractPersistenceService.commit( >> >> > AbstractPersistenceService.java:61) >> >> > >> >> > As the data upload service is a hivemind service but not >> a tapestry >> >> > page, I do not have webRequest object. As Any suggestions? >> >> > >> >> > Henry >> >> > -- >> >> > View this message in context: >> >> > http://www.nabble.com/Acquiring-session-not-in-a-tapestry-page >> >> > -error-tf2765973.html#a7713160 >> >> > Sent from the Hivemind - User mailing list archive at Nabble.com. >> >> > >> >> > >> >> >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/Acquiring-session-not-in-a-tapestry-page >> -error-tf2765973.html#a7715924 >> Sent from the Hivemind - User mailing list archive at Nabble.com. >> >> > > -- View this message in context: http://www.nabble.com/Acquiring-session-not-in-a-tapestry-page-error-tf2765973.html#a7716730 Sent from the Hivemind - User mailing list archive at Nabble.com.