openejb-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Romain Manni-Bucau <rmannibu...@gmail.com>
Subject Re: Number of simultaneous @Asynchronous threads
Date Mon, 20 Aug 2012 17:55:23 GMT
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 <david.blevins@gmail.com>

>
> 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message