I have a Stateless Session Bean that performs a massive caching operation that takes 10+ hours. The session bean does everything with straight JDBC calls to a Connection retreived from a DataSource (We are using SQL Server and M$ driver)
The SQL Statements do not work unless there is a Transaction present (not sure why), and when one is present the transaction times out (default is 5 minutes, much less than my 10 hour operation). I have broken the operations down into fairly atomic pieces, and I would like to have the main public method only support the transactions with the inner worker method getting their own transaction (so the DataSource COnnection is happy).
Can you set a transaction attribute on a private with CMT? or do i need to move to BMT? or should I just make the methods public and work it that way?
Thanks for any advice, I know this question is probably no that easiest to answer.
I;d rather not have to use a transaction at all, but when I do not, the connections never save the data to the DB and it locks up.