Hi Phillipe
>>
>> Trying to resolve our problem with transaction timout we came across this
>> issue.
>> Our transaction takes 75sec. The default transaction timeout in Jonas in
>> 60sec. We are using container managed persistance with our beans with
>> transaction demarcated using deployment descriptors. There is no way we
know
>> of how to change this default timeout value for all transaction (only on
>> per transaction basis). To get around this problem we are explicitely
>> creating transaction in our client and set the transaction timeout to
300sec
>I guess you set it to 3000 ? (see traces)
Yes, my mistake it is 3000sec.
>> (this should be plenty of time). It looks like this is the only way how
to
>> change the timeout value. What happens is that the transaction still
>> timeouts after 60sec. This is obviously problem.
>> After getting tracefile from Jonas, we can see following lines
>>
>> Current.begin()
>> XidImpl constructor
>> new Xid = 975395151125505
>> TransactionImpl.TransactionImpl(Xid xid, int timeout)
>> Attach Tx to Thread
>> Associate Tx to Xid:org.objectweb.jonas.jta.XidImpl@1
>> TransactionImpl.setTimer(TimerEvent timer)
>> Current.setTransactionTimeout(int 3000)
>This looks good. Are you saying this timeout after 60 s ???
Yes, it times out after 60s.
>> What it looks like is that the timer is started with the defaut value,
when
>> the transaction is constructed and the when we set the new timeout value,
>> the timer is not resetted (there is no other calls to setTimer or
anything
>> similar). Is this a problem?
>It is not possible to reset the timer of an already started transaction.
>Is it what you want to do ? I'm not sure to understand very well your pb.
>Anyway, I will test this carefully in the next jonas version, because a lot
>of things have been changed for distributed transactions about timers.
Currently our configuration is jsp/servlets in Jetty -> Jonas with Jeremie
-> Interbase. Jetty and Jonas are running in the same VM. Jeremie has made
the whole system about 3 times faster which solved our problem for now, but
RMI was major bottleneck and some transactions were taking forever. What we
want to preferable do is to set longer default timeout for all transactions
in the system. We would like to set this when Jonas is started so that all
transactions are created with this longer timeout. We couldn't find any way
how to do it, except changing the hardcoded constant in Current.java (what
we did for RMI_jonas). Is there any other way? The example I sent you was
just workaround, where we explicitly coded transaction and set the timeout
around operation which was causing us most problems, but this is not
desirable solution. We chose CMP and container demarcated transaction
boundaries so we don't have to worry (at least at this point) about
persistence and transactions and it would be quite painful to code
transactions like this for every operation which can potentially take longer
time (system has at present time 40-50 beans and will grow rapidly in next
couple of weeks). Thanks for your help.
Regards
Miroslav Halas
Software Engineer
Compuware Corp.
15305 Dallas Parkway
Suite 900
Addison, TX 75001
phone 9720-960-0960 x 1333
fax 972-960-8489
----
To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".