openejb-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Blevins <david.blev...@gmail.com>
Subject Re: Number of simultaneous @Asynchronous threads
Date Mon, 20 Aug 2012 17:40:42 GMT

On Aug 20, 2012, at 9:23 AM, Bjorn Danielsson wrote:

> I found out that this setting is what causes the exception:
> 
> AsynchronousPool.KeepAliveTime = 60
> 
> Without it, everything is fine!
> 
> I simply added all three properties for testing, though I really
> have no need to tweak KeepAliveTime. But just for the sake of
> completeness: what's the intended format for that property?

Should be fixed now.  Forgot that the default TimeUnit needed to be supplied in code in case
the user did not supply it.  The format looks like this:

 http://tomee.apache.org/configuring-durations.html

> Another strange thing that you mentioned earlier Romain, is
> that in my tests the pool size never grows to MaximumPoolSize.
> It always stays at CorePoolSize. I use test methods that sleep
> for 10 seconds and log the timestamps and the Thread names,
> and the results are consistent. I even tried spinning instead
> of sleeping, but it made no difference.

I've noticed that too in the past.  These arguments go straight into this object:

http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ThreadPoolExecutor.html

The section on "Core and maximum pool sizes" seems to imply that it can grow and shrink, however,
I've only ever noticed fixed pool size behavior.


-David

> Romain Manni-Bucau <rmannibucau@gmail.com> wrote:
>> i don't manage to reproduce it,
>> 
>> i simply put in conf/system.properties:
>> 
>> AsynchronousPool.CorePoolSize = 50
>> AsynchronousPool.MaximumPoolSize = 100
>> 
>> 
>> and in the log i get:
>> 
>> INFO: Using 'AsynchronousPool.CorePoolSize=50'
>> 20 août 2012 16:21:40 org.apache.openejb.util.OptionsLog info
>> INFO: Using 'AsynchronousPool.MaximumPoolSize=100'
>> 
>> and no exception,
>> 
>> maybe you are not completely up to date?
>> 
>> *Romain Manni-Bucau*
>> *Twitter: @rmannibucau*
>> *Blog: http://rmannibucau.wordpress.com*
>> 
>> 
>> 
>> 
>> 2012/8/20 Bjorn Danielsson <bjorn-apache@lists.cuspycode.com>
>> 
>>> I built from the latest source (r1374989) and tried the new
>>> configuration, but I get strange errors. Just by placing the
>>> default values in system.properties in a freshly unpacked
>>> TomEE-plus, I got this exception:
>>> 
>>> INFO: Assembling app: openejb
>>> Aug 20, 2012 3:56:28 PM org.apache.openejb.util.OptionsLog info
>>> INFO: Using 'AsynchronousPool.CorePoolSize=10'
>>> Aug 20, 2012 3:56:28 PM org.apache.openejb.util.OptionsLog info
>>> INFO: Using 'AsynchronousPool.MaximumPoolSize=20'
>>> Aug 20, 2012 3:56:28 PM org.apache.openejb.util.OptionsLog info
>>> INFO: Using 'AsynchronousPool.KeepAliveTime=60'
>>> Aug 20, 2012 3:56:28 PM org.apache.openejb.assembler.classic.Assembler
>>> destroyApplication
>>> INFO: Undeploying app: openejb
>>> Aug 20, 2012 3:56:29 PM org.apache.openejb.assembler.classic.Assembler
>>> buildContainerSystem
>>> SEVERE: Application could not be deployed:  openejb
>>> org.apache.openejb.OpenEJBException: Creating application failed: openejb:
>>> null
>>>        at
>>> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:929)
>>>        at
>>> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:521)
>>>        at
>>> org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:422)
>>>        at
>>> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:330)
>>>        at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:144)
>>>        at org.apache.openejb.OpenEJB.init(OpenEJB.java:290)
>>>        at
>>> org.apache.tomee.catalina.TomcatLoader.initialize(TomcatLoader.java:231)
>>>        at
>>> org.apache.tomee.catalina.TomcatLoader.init(TomcatLoader.java:131)
>>>        at
>>> org.apache.tomee.catalina.ServerListener.lifecycleEvent(ServerListener.java:113)
>>>        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:401)
>>>        at
>>> org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:110)
>>>        at org.apache.catalina.startup.Catalina.load(Catalina.java:624)
>>>        at org.apache.catalina.startup.Catalina.load(Catalina.java:649)
>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>        at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>        at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>        at java.lang.reflect.Method.invoke(Method.java:601)
>>>        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
>>>        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
>>> Caused by: java.lang.NullPointerException
>>>        at
>>> java.util.concurrent.ThreadPoolExecutor.<init>(ThreadPoolExecutor.java:1281)
>>>        at
>>> java.util.concurrent.ThreadPoolExecutor.<init>(ThreadPoolExecutor.java:1198)
>>>        at
>>> org.apache.openejb.async.AsynchronousPool.<init>(AsynchronousPool.java:51)
>>>        at
>>> org.apache.openejb.async.AsynchronousPool.create(AsynchronousPool.java:66)
>>>        at
>>> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:589)
>>>        ... 20 more
>>> 
>>> I also tried deploying my webapp and moved the properties to
>>> WEB-INF/application.properties, and that produced a similar
>>> exception with the same cause, but for my app instead of openejb
>>> and with some differences in the lifecycle call chain.
>>> 
>>> --
>>> Björn Danielsson
>>> Cuspy Code AB
>>> 
>>> 
>>> Romain Manni-Bucau <rmannibucau@gmail.com> wrote:
>>>> FYI, with last David refactoring the config is a bit different from the
>>> one
>>>> i did, just to keep a track in this thread (jira is up to date),
>>> properties
>>>> are and can be put in application.properties (META-INF or WEB-INF):
>>>> 
>>>> AsynchronousPool.CorePoolSize
>>>> AsynchronousPool.MaximumPoolSize
>>>> AsynchronousPool.KeepAliveTime
>>>> 
>>>> *Romain Manni-Bucau*
>>>> *Twitter: @rmannibucau*
>>>> *Blog: http://rmannibucau.wordpress.com*
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 2012/8/20 zeeman <hamzah0@fastmail.us>
>>>> 
>>>>> Great, thanks.
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> View this message in context:
>>>>> 
>>> http://openejb.979440.n4.nabble.com/Number-of-simultaneous-Asynchronous-threads-tp4656891p4656908.html
>>>>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>>>> 
>>> 
> 


Mime
View raw message