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?

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.

-- 
Björn Danielsson
Cuspy Code AB


Romain Manni-Bucau <rmannibu...@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-apa...@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 <rmannibu...@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 <hamz...@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.
>> >>
>>

Reply via email to