that's because we use a linked blocking queue maybe we should make it configurable, not sure...
wdyt? *Romain Manni-Bucau* *Twitter: @rmannibucau* *Blog: http://rmannibucau.wordpress.com* 2012/8/20 David Blevins <[email protected]> > > 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 <[email protected]> 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 <[email protected]> > >> > >>> 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 <[email protected]> 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 <[email protected]> > >>>> > >>>>> 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. > >>>>> > >>> > > > >
