Thanks, that's helpful. I'll look into Spring.

I will be adding operations that do inserts and updates soon.

Regards,
Michael

> -----Original Message-----
> From: Glen Mazza [mailto:[EMAIL PROTECTED]
> Sent: Thursday, May 03, 2007 8:53 PM
> To: [email protected]
> Subject: Re: Appropriate place for transaction code?
> 
> 
> Reading the third sentence of your email, you said the service is just
> *retrieving* data from the database (i.e. SQL SELECT), is 
> that correct?
> If so, commits would not be a concern for you--you may be able to keep
> your service in application scope[1] and just initialize an instance
> variable to hold the session factory.
> 
> Otherwise, I don't know if you're using Spring but the Axis2 Spring
> guide[2] may give you some ideas until someone else can get 
> you a better
> answer.
> 
> [1] http://www.developer.com/java/web/article.php/10935_3620661_2
> [2] http://ws.apache.org/axis2/1_2/spring.html
> 
> Glen
> 
> 
> Am Donnerstag, den 03.05.2007, 16:26 -0400 schrieb
> [EMAIL PROTECTED]:
> > Hi,
> > 
> > I'm new to Axis. I'm using Axis2 1.1.1.
> > 
> > I'm creating a service that retrieves data from a database. 
> I'm using Hibernate. For those of you not familiar with it, 
> the basic pattern of usage is that you create something 
> called a SessionFactory once when the application starts, and 
> then for each request/response cycle you create a Session. 
> When the response finishes, you commit the session.
> > 
> > In regular web applications I create the session factory in 
> the ApplicationContext. Then I make a servlet filter that 
> creates the session and starts a transaction on the way in, 
> and then commits the transaction and closes the session on 
> the way out.
> > 
> > I'm trying to figure out how to do this in Axis. I created 
> a module called hibernateTransactionModule. I've got two 
> handlers, one for the way in and one for the way out, each 
> attached to a new phase. Right now they're just saying 'hello 
> world' and it works, they do execute when I expect them to.
> > 
> > So I've got three classes:
> > 
> > HibernateTransactionModule implements 
> org.apache.axis2.modules.Module
> > HibernateTransactionHandlerBegin extends AbstractHandler 
> implements Handler
> > HibernateTransactionHandlerEnd extends AbstractHandler 
> implements Handler
> > 
> > My intuition tells me that 
> HibernateTransactionModule.init() would be the appropriate 
> place to create the hibernate session factory, 
> HibernateTransactionHandlerBegin.invoke() could create a 
> session for a request and put it into the messageContext, and 
> HibernateTransactionHandlerEnd.invoke() could commit the 
> transaction and close the session.
> > 
> > But I can't see a place where I can store the session 
> factory where it can be accessible to the handlers.
> > 
> > One possibility would be to use a static field in 
> HibernateTransactionHandlerBegin but that would be an ugly 
> hack. Any suggestions?
> > 
> > Thanks
> > Michael Davis
> > www.damaru.com
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to