You surely nee d to add an id:
<TransactionManager id="transactionManager" type="TransactionManager">
defaultTransactionTimeoutSeconds=3600
</TransactionManager>

Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2013/10/31 jieryn <[email protected]>:
> Thank you for that information, I also find
> https://tomee.apache.org/containers-and-resources.html
>
> Now, when I make my conf/tomee.xml be this:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <tomee>
> <TransactionManager type="javax.transaction.TransactionManager">
> defaultTransactionTimeoutSeconds=3600
> </TransactionManager>
> </tomee>
>
> After starting Apache TomEE I have the following error:
>
> INFO [main] org.apache.openejb.config.ConfigurationFactory.init
> openejb configuration file is '/home/tomee/myapp/conf/tomee.xml'
> INFO [main] org.apache.openejb.config.ConfigurationFactory.configureService
> Configuring Service(id=Tomcat Security Service, type=SecurityService,
> provider-id=Tomcat Security Service)
> SEVERE [main] org.apache.openejb.config.ConfigurationFactory.configureService
> Failed Configuring Service(id=null)
>  org.apache.openejb.config.NoSuchProviderException: Cannot determine a
> provider for TransactionManager(id=null,
> type=javax.transaction.TransactionManager, provider=null).
>
> Possible valid configurations might be:
>   <TransactionManager id="null" type="TransactionManager"/>
>         at 
> org.apache.openejb.config.ConfigurationFactory.configureService(ConfigurationFactory.java:1065)
>         at 
> org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration(ConfigurationFactory.java:467)
>         at 
> org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration(ConfigurationFactory.java:575)
>         at 
> org.apache.openejb.assembler.classic.Assembler.getOpenEjbConfiguration(Assembler.java:429)
>         at 
> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:408)
>         at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:148)
>         at org.apache.openejb.OpenEJB.init(OpenEJB.java:296)
>         at 
> org.apache.tomee.catalina.TomcatLoader.initialize(TomcatLoader.java:246)
>         at org.apache.tomee.catalina.TomcatLoader.init(TomcatLoader.java:134)
>         at 
> org.apache.tomee.catalina.ServerListener.lifecycleEvent(ServerListener.java:122)
>         at 
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>         at 
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
>         at 
> org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
>         at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:110)
>         at org.apache.catalina.startup.Catalina.load(Catalina.java:640)
>         at org.apache.catalina.startup.Catalina.load(Catalina.java:665)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
>         at java.lang.reflect.Method.invoke(Method.java:613)
>         at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
>
>
>
> On Thu, Oct 31, 2013 at 9:28 AM, Romain Manni-Bucau
> <[email protected]> wrote:
>> here it is 
>> http://openejb.979440.n4.nabble.com/How-to-configure-default-transaction-timeout-in-TomEE-td4657383.html
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2013/10/31 jieryn <[email protected]>:
>>> Hello,
>>>
>>> I did not customize the timeout of the transaction manager, I'm sorry,
>>> how do I do that?
>>>
>>> The transaction time is generally less than the @Schedule frequency,
>>> unless something goes wrong, and then we have more and more items to
>>> process the next time. Which makes this a worsening problem of a
>>> kind.. the more times we fail the longer the next one is going to
>>> take.
>>>
>>>
>>>
>>> On Thu, Oct 31, 2013 at 1:28 AM, Romain Manni-Bucau
>>> <[email protected]> wrote:
>>>> Hi
>>>>
>>>> 1h? You customized the timeout of the transaction manager?
>>>>
>>>> That said you have a biggest issue if you processing is longer than your
>>>> scheduling. In particular in write mode. We have a retry config but maybe
>>>> check you do what you want cause all technical solutions about this timeout
>>>> will be workarounds and not real solutions
>>>> Le 31 oct. 2013 05:58, "jieryn" <[email protected]> a écrit :
>>>>
>>>>> Thanks for that information, Howard.
>>>>>
>>>>> Even with @AccessTimeout(-1) which should cause it to wait forever, I
>>>>> still take the aforementioned Exception. It seems that some of my
>>>>> transactions can take upwards of an hour to complete and that Apache
>>>>> TomEE deems this unacceptable.
>>>>>
>>>>> On Wed, Oct 30, 2013 at 8:54 AM, Howard W. Smith, Jr.
>>>>> <[email protected]> wrote:
>>>>> > i am doing the same (see the URLs below).
>>>>> >
>>>>> > /**
>>>>> >  *
>>>>> >  * http://tomee.apache.org/examples-trunk/access-timeout/README.html
>>>>> >  * http://tomee.apache.org/examples-trunk/access-timeout-meta/
>>>>> >  * http://docs.oracle.com/cd/E19798-01/821-1841/gipsz/index.html
>>>>> >  */
>>>>> > @Singleton
>>>>> > @Lock(LockType.WRITE)
>>>>> > @AccessTimeout(value = 2, unit = TimeUnit.MINUTES)
>>>>> > public class EmailRequestBean {
>>>>> >
>>>>> >
>>>>> >
>>>>> > On Wed, Oct 30, 2013 at 8:38 AM, jieryn <[email protected]> wrote:
>>>>> >
>>>>> >> Greetings, I'm using Apache TomEE 1.6.0-SNAPSHOT from a couple of
>>>>> >> weeks ago. I am frequently seeing my @Lock(LockType.WRITE) @Singleton
>>>>> >> @Startup MySchedule { @Schedule(/**/) public void run() { /* slowish
>>>>> >> */ } } have the following error:
>>>>> >>
>>>>> >> WARNING [EjbTimerPool - 901]
>>>>> >> org.apache.openejb.core.timer.EjbTimerServiceImpl.ejbTimeout Failed to
>>>>> >> execute ejbTimeout on MySchedule successfully within 1 attempts
>>>>> >>
>>>>> >> And then the transaction is rolled back. How can I extend the timeout
>>>>> >> such that I have more time for MySchedule#run in order to do its
>>>>> >> processing?
>>>>> >>
>>>>>

Reply via email to