From: Igor F. <ife...@ro...> - 2003-06-10 14:31:08
|
Brian, What do you mean by "closes the JCA connection"? JCA has a clear separation between logical connection handlers and physical connections to underlying EIS. By default JBoss automatically closes logical handlers left open after return from a method call, but there was a way to turn this behaviour off. Unfortunately I cannot remember exact syntax, so you need to search archive of this list. Brian Wallis wrote: > I have a design where I am connecting to external EIS using a transactional > JCA that I have written and I am using the JCA for multiple commands within > a transaction from a transactional stateful session bean. > > The scenario involves two session beans, one stateless and one stateful, and > the JCA. > > - The stateless session bean (within in one method) that sets up a transaction > and calls txn.begin(). > - It then creates and calls the stateful session bean > - The stateful session bean creates a connection to the JCA (getConnection() > on the factory). > - The stateful bean then creates an interaction, sets up the command and then > calls execute(). > - The stateful bean then returns to the caller (the stateless bean) which will > then call another method on the stateful bean, all within the same > transaction. > > Unfortunatly, on return to the stateless bean the runtime closes the JCA > connection. > > This seems wrong to me. The external transaction management is done within the > JCA ManagedConnection object but if the connection is closed each time how > can I successfully do this management? I'm not guaranteed that I'll even get > the same connection back again next time. > > I really need to keep that connection open for the duration of the > transaction. Am I misunderstanding something here or is there some > configuration setting I'm missing. > > brian wallis... |