aries-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bengt Rodehav <be...@rodehav.com>
Subject Re: How to configure transaction timeout?
Date Thu, 12 Jan 2012 18:09:13 GMT
David,

I have verified that the configuration is applied to the transaction
service I just can't see that it has any effect. I guess I can start
debugging but I was hoping to avoid that. Do you know if there are any
integration tests that tests the transaction timeout?

/Bengt


Den torsdagen den 12:e januari 2012 skrev David Jencks<
david_jencks@yahoo.com>:
> I would guess that perhaps your configuration is not actually getting
supplied to the managed service?  If you are running in karaf you can use
confiig:list to make sure config admin is aware of your config.  You might
also want to debug the aries code and make sure that  the configuration is
actually getting supplied to the service.
> david jencks
> On Jan 12, 2012, at 6:36 AM, Bengt Rodehav wrote:
>
> Hello again Alasdair,
> I finally got around to test configuration of Aries Transaction. I
created the following configuration (using
PID org.apache.aries.transaction):
> aries.transaction.timeout=1
> aries.transaction.howl.logFileDir=${karaf.data}/txlog/
> I set the logfile directory as well as the transaction timeout (I peeked
at how they do it in Servicemix). I set the timeout to a low value in order
to test that I actually get a transaction timeout. I also perform a 5s
sleep in a transacted method to force a transaction timeout.
> But, I never get a transaction timeout and I never get a transaction log
file in the "logFileDir" directory. I'm not beginning to fear that my
methods are not transacted. How can I verify this?
> Under what circumstances would a transaction log file be created? I
assumed that it would be created when the first transaction was created.
Or, do I also need to add the following line?
> aries.transaction.recoverable=true
> I've tried that but still no logfile was created.
> I also noticed that the default value for
"aries.transaction.howl.maxBuffers" is 0 while the default value for
"aries.transaction.howl.minBuffers" is 4. Is that correct? At first sight I
would think it should be the other way around.
> /Bengt
>
>
>
>
>
>
> 2011/12/29 Bengt Rodehav <bengt@rodehav.com>
>
> Thanks Alasdair - will look into it.
> /Bengt
>
> 2011/12/28 Alasdair Nottingham <not@apache.org>
>
> Hi,
> The pid for configuring transactions is "org.apache.aries.transaction".
> Alasdair
>
> On 14 December 2011 14:33, Bengt Rodehav <bengt@rodehav.com> wrote:
>
> It turned out that my error was not due to the transaction timing out but
to violation of unique constraints. Nevertheless, I would like to know how
to control the transaction timeout in Aries transaction.
> /Bengt
>
> 2011/12/14 Bengt Rodehav <bengt@rodehav.com>
>
> Thanks for your reply David,
> I'll see if I can figure out the pid although this seems like something
that really needs to be documented in Aries. If the default timeout is 600
seconds then this is probably not the reason of the errors I see. I need a
time out of about 30 s which then is much less than the default.
> I have been using MySql but I'm in the process of switching to SQL Server
2005. MySql worked fine but I started having problems committing the longer
transactions with SQL Server 2005 which caused me to suspect a transaction
timeout. Perhaps the timeout is not propagated to SQL Server like you
hinted.
> /Bengt
>
> 2011/12/14 David Jencks <david_jencks@yahoo.com>
>
> Transaction is set up as a managed service factory.  I haven't figured
out exactly how this results in a tm instance without any visible
configuration.
> If you can figure out what is triggering the creation of a tm and the
pid, the property to set is called aries.transaction.timeout and the
default value is 600 (seconds) or 10 minutes.

Mime
View raw message