hivemind-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <Marcus.Schu...@bmw.ch>
Subject RE: Acquiring session not in a tapestry page error
Date Wed, 06 Dec 2006 07:57:55 GMT
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 <OuterProxy for 
> > 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.
> > 
> > 
> 

Mime
View raw message