Never mind, I'm glad to get feedback on honeycomb.
Marcus 

> -----Original Message-----
> From: Henry Tong [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, December 06, 2006 11:58 AM
> To: user@hivemind.apache.org
> Subject: RE: Acquiring session not in a tapestry page error
> 
> 
> Dear Marcus, 
> 
> It works. Thank you very much.
> 
> Henry
> 
> 
> Schulte Marcus wrote:
> > 
> > Oh, sorry,
> > I think the Audit-Interceptor must be the culprit. I had the same 
> > problem when adding a Message-Driven thingy into one of my projects.
> > You'll need to define a second instance of the SessionFactory, 
> > contrary to what I told before, like this:
> > 
> > <service-point id="HibernateSessionFactory" parameters-occurs="none"
> >     
> > interface="org.apache.hivemind.ServiceImplementationFactory">
> >             <invoke-factory model="singleton">
> >                     <construct autowire-services="false"
> >     
> > 
> class="com.javaforge.honeycomb.hivemind.hibernate.HibernateSessionFact
> > or
> > y"
> >                             initialize-method="init">
> >                             <configuration> 
> >                          honeycomb.hibernate.HibernateSessionFactory
> >                         </configuration>
> >     
> > <service>hivemind.ShutdownCoordinator</service>
> >                             <service-id/>
> >                             <set property="updateSchema"
> > value="false"/>
> >                             <set property="transactionManager"
> > value="false"/>
> >                             </construct>
> >             </invoke-factory>
> >             <interceptor service-id="hivemind.LoggingInterceptor"/>
> >     </service-point>
> > 
> > It's important to turn off autowiring otherwise HiveMind will 
> > auto-inject the wrong AuditInterceptor Service. Of course, 
> if you need 
> > auditing, you can also configure a second instance of the 
> interceptor 
> > and wire it up explicitly.
> > 
> > hth, Marcus
> > 
> >> -----Original Message-----
> >> From: Henry Tong [mailto:[EMAIL PROTECTED]
> >> Sent: Wednesday, December 06, 2006 11:18 AM
> >> To: user@hivemind.apache.org
> >> Subject: RE: Acquiring session not in a tapestry page error
> >> 
> >> 
> >> 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
> >>     <service-point id='HibernateEagerLoadSession'
> >> interface='org.hibernate.Session'>
> >>         <invoke-factory
> >> service-id='honeycomb.hibernate.HibernateSessionFactory' 
> >> model='threaded'/>
> >>     </service-point>
> >> 
> >> 2. Create Dao Service (which extends
> >> AbstractPersistenceService) that use Hibernate EagerLoad Session
> >>      <service-point id="GenericDbDao" interface="GenericDbDao">    
> >>            <invoke-factory>
> >>                    <construct class="impl.GenericDbDaoImpl">
> >>                            
> >> <service>HibernateEagerLoadSession</service>
> >>                    </construct>
> >>            </invoke-factory>
> >>      </service-point>
> >> 
> >> 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(Ses
> >> sionImpl.java:399)
> >> >15> exception in interceptor beforeTransactionCompletion()
> >> java.lang.NullPointerException: Property 'webRequest' of 
> <OuterProxy 
> >> for tapestry.globals.RequestGlobals(org.apache.tapestry.services.R
> >> equestGlobals)>
> >> is null.
> >>    at
> >> $WebRequest_10f574018b1._targetServiceProperty($WebRequest_10f
> >> 574018b1.java)
> >>    at
> >> $WebRequest_10f574018b1.getSession($WebRequest_10f574018b1.java)
> >>    at
> >> $WebRequest_10f57401872.getSession($WebRequest_10f57401872.java)
> >>    at
> >> org.apache.tapestry.engine.state.SessionScopeManager.getSessio
> >> n(SessionScopeManager.java:48)
> >>    at
> >> org.apache.tapestry.engine.state.SessionScopeManager.get(Sessi
> >> onScopeManager.java:64)
> >>    at
> >> $StateObjectPersistenceManager_10f574018a9.get($StateObjectPer
> >> sistenceManager_10f574018a9.java)
> >>    at
> >> org.apache.tapestry.engine.state.StateObjectManagerImpl.get(St
> >> ateObjectManagerImpl.java:50)
> >>    at
> >> org.apache.tapestry.engine.state.ApplicationStateManagerImpl.g
> >> et(ApplicationStateManagerImpl.java:60)
> >>    at
> >> $ApplicationStateManager_10f5740184a.get($ApplicationStateMana
> >> ger_10f5740184a.java)
> >>    at
> >> $ApplicationStateManager_10f5740184b.get($ApplicationStateMana
> >> ger_10f5740184b.java)
> >>    at
> >> com.javaforge.honeycomb.tapestry.ConversationManagerImpl.getCu
> >> rrentConversation(ConversationManagerImpl.java:59)
> >>    at
> >> $ConversationManager_10f574018a0.getCurrentConversation($Conve
> >> rsationManager_10f574018a0.java)
> >>    at
> >> $ConversationManager_10f5740189e.getCurrentConversation($Conve
> >> rsationManager_10f5740189e.java)
> >>    at
> >> com.javaforge.honeycomb.tapestry.ConversationalClientStateStor
> >> age.retrieve(ConversationalClientStateStorage.java:26)
> >>    at
> >> $ClientStateStorage_10f5740188f.retrieve($ClientStateStorage_1
> >> 0f5740188f.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(StatefulServi
> >> ceModel.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.getAu
> >> ditSession(AuditInterceptor.java:138)
> >>    at
> >> com.javaforge.honeycomb.hibernate.audit.AuditInterceptor.befor
> >> eTransactionCompletion(AuditInterceptor.java:145)
> >>    at
> >> $Interceptor_10f5740188c.beforeTransactionCompletion($Intercep
> >> tor_10f5740188c.java)
> >>    at
> >> $Interceptor_10f5740188d.beforeTransactionCompletion($Intercep
> >> tor_10f5740188d.java)
> >>    at
> >> org.hibernate.impl.SessionImpl.beforeTransactionCompletion(Ses
> >> sionImpl.java:396)
> >>    at
> >> org.hibernate.jdbc.JDBCContext.beforeTransactionCompletion(JDB
> >> CContext.java:202)
> >>    at
> >> org.hibernate.transaction.JDBCTransaction.commit(JDBCTransacti
> >> on.java:111)
> >>    at
> >> com.javaforge.honeycomb.service.AbstractPersistenceService.com
> >> mit(AbstractPersistenceService.java:61)
> >>    at $GenericDao_10f5740189c.commit($GenericDao_10f5740189c.java)
> >>    at
> >> pihk.pacconmini.server.service.jpop.impl.RecordUploadImpl.save
> >> OrUpdateRecord(RecordUploadImpl.java:78)
> >>    at
> >> pihk.pacconmini.server.service.jpop.impl.RecordUploadImpl.uplo
> >> ad(RecordUploadImpl.java:45)
> >>    at
> >> $RecordUpload_10f57401896.upload($RecordUpload_10f57401896.java)
> >>    at
> >> pihk.pacconmini.server.service.jpop.impl.DataUploadImpl.startT
> >> oRun(DataUploadImpl.java:132)
> >>    at
> >> pihk.pacconmini.server.service.jpop.impl.DataUploadImpl.run(Da
> >> taUploadImpl.java:73)
> >>    at $DataUpload_10f57401818.run($DataUpload_10f57401818.java)
> >>    at
> >> pihk.pacconmini.server.service.jpop.impl.DataReplicateImpl.pro
> >> cess(DataReplicateImpl.java:129)
> >>    at
> >> pihk.pacconmini.server.service.jpop.impl.DataReplicateImpl$1.r
> > un(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:[EMAIL PROTECTED]
> >> >> 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
> >> >>     <service-point id='HibernateWebSession'
> >> >> interface='org.hibernate.Session'>
> >> >>         <invoke-factory service-id='MySessionFactory' 
> >> >> model='threaded'/>
> >> >>     </service-point>
> >> >>
> >> > 
> >> > You can continue to use the pre-configured
> >> Honeycomb-Session for the
> >> > Web-Requests.
> >> > You should only need to add the EagerLoadSession
> >> > 
> >> >> 
> >> >>     <service-point id='HibernateEagerLoadSession'
> >> >> interface='org.hibernate.Session'>
> >> >>         <invoke-factory service-id='MySessionFactory' 
> >> >> model='threaded'/>
> >> >>     </service-point>
> >> >> 
> >> >> 2. Create one session factory only (we use
> >> >> createCoreServiceImplementation(...) to create session)
> >> >>     <service-point id='MySessionFactory' 
> parameters-occurs="none" 
> >> >>         
> >> interface='org.apache.hivemind.ServiceImplementationFactory'>
> >> >>         <invoke-factory model='singleton'>
> >> >>             <construct class='MySessionFactory'>
> >> >>                 <set-service property='hibernateSessionFactory'
> >> >>                    
> >> >> service-id='honeycomb.hibernate.HibernateSessionFactory'/>
> >>            
> >> >>             </construct>
> >> >>         </invoke-factory>
> >> >>     </service-point>
> >> >> 
> >> > 
> >> > 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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> >> >> >> 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:[EMAIL PROTECTED]
> >> >> >> > 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_10
> >> >> >> > f
> >> >> >> 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($StateObjectPe
> >> >> >> > r
> >> >> >> 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($ApplicationStateMan
> >> >> >> > a
> >> >> >> ger_10f5595849d.java)
> >> >> >> > at
> >> >> >> > 
> $ApplicationStateManager_10f5595849e.get($ApplicationStateMan
> >> >> >> > a
> >> >> >> ger_10f5595849e.java)
> >> >> >> > at
> >> >> >> > 
> com.javaforge.honeycomb.tapestry.ConversationManagerImpl.getC
> >> >> >> > u
> >> >> >> > rrentConversation
> >> >> >> > (ConversationManagerImpl.java:59) at 
> >> >> >> > 
> $ConversationManager_10f55958590.getCurrentConversation($Conv
> >> >> >> > e
> >> >> >> rsationManager_10f55958590.java)
> >> >> >> > at
> >> >> >> > 
> $ConversationManager_10f55958589.getCurrentConversation($Conv
> >> >> >> > e
> >> >> >> rsationManager_10f55958589.java)
> >> >> >> > at
> >> >> >> > 
> com.javaforge.honeycomb.tapestry.ConversationalClientStateSto
> >> >> >> > r
> >> >> >> > age.retrieve(
> >> >> >> > ConversationalClientStateStorage.java:26)
> >> >> >> > at
> >> >> >> > 
> $ClientStateStorage_10f5595858b.retrieve($ClientStateStorage_
> >> >> >> > 1
> >> >> >> 0f5595858b.java)
> >> >> >> > at
> >> >> >> > 
> com.javaforge.honeycomb.hivemind.statefulservice.StatefulServ
> >> >> >> > i ceModel.getServiceFromClientStateStorage
> >> >> >> > (StatefulServiceModel.java:241) at 
> >> >> >> > 
> com.javaforge.honeycomb.hivemind.statefulservice.StatefulServ
> >> >> >> > i
> >> >> >> > ceModel.obtainPooledService
> >> >> >> > (StatefulServiceModel.java:229) at 
> >> >> >> > 
> com.javaforge.honeycomb.hivemind.statefulservice.StatefulServ
> >> >> >> > i 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.getA
> >> >> >> > u
> >> >> >> > ditSession(
> >> >> >> > AuditInterceptor.java:138)
> >> >> >> > at
> >> >> >> > 
> com.javaforge.honeycomb.hibernate.audit.AuditInterceptor.befo
> >> >> >> > r
> >> >> >> > eTransactionCompletion
> >> >> >> > (AuditInterceptor.java:145)
> >> >> >> > at
> >> >> >> > 
> $Interceptor_10f559585a6.beforeTransactionCompletion($Interce
> >> >> >> > p
> >> >> >> > tor_10f559585a6.java)
> >> >> >> > at
> >> >> >> > 
> $Interceptor_10f559585a7.beforeTransactionCompletion($Interce
> >> >> >> > p
> >> >> >> > 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-pag
> >> >> >> > e -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.
> >> 
> >> 
> > 
> > 
> 
> --
> View this message in context: 
> http://www.nabble.com/Acquiring-session-not-in-a-tapestry-page
> -error-tf2765973.html#a7717202
> Sent from the Hivemind - User mailing list archive at Nabble.com.
> 
> 

Reply via email to