The timeout is a suggestion, and even if it is set really high it still
makes sense, so no not wrong - 30 minutes is fine (that must be a huge
app), better than forever - The worst case scenario is best.
The actual fix is the executor - We can't expect to to run two
concurrent processes with one thread.
Andy.
On 08/08/2014 14:08, Romain Manni-Bucau wrote:
Hi
Well I don't manage to comment on jira (proxy issue I guess)
latch.await(timeout, TimeUnit.SECONDS); is wrong IMHO (no timeout
should be needed otherwise we know we'll be broken for big apps, in
particular with 30s as default, we could put 30mn if we want to keep
it).
Personally I thought fixing it more on the long term getting rid of
async part since we now can't avoid link() and rewriting what is slow
if it is - depend a lot of the app, I'll try to use a deltaspike +
spring one to test it. Async impl was mainly a lazy solution when it
was not mandatory but since JavaEE 6 it is actually mandatory so we
need to tackle it properly. It should take next week I guess maximum.
wdyt?
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
2014-08-08 13:48 GMT+02:00 Andy Gumbrecht <[email protected]>:
Submitted a patch to XBean that fixes the issue:
https://issues.apache.org/jira/browse/XBEAN-271
Andy.
On 07/08/2014 20:52, David Blevins wrote:
Getting a deadlock on AsynchronousInheritanceAnnotationFinder when the
interface a class implements is not in the jar being scanned.
"main" #1 prio=5 os_prio=31 tid=0x00007f98ba812000 nid=0x1903 waiting on
condition [0x000000010862c000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000016dd4ffc8> (a
java.util.concurrent.CountDownLatch$Sync)
at
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
at
java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
at
org.apache.xbean.finder.AsynchronousInheritanceAnnotationFinder.join(AsynchronousInheritanceAnnotationFinder.java:111)
at
org.apache.xbean.finder.AsynchronousInheritanceAnnotationFinder.findImplementations(AsynchronousInheritanceAnnotationFinder.java:97)
at
org.apache.openejb.config.FinderFactory$ModuleLimitedFinder.findImplementations(FinderFactory.java:275)
at
org.apache.tomee.catalina.OpenEJBContextConfig.processServletContainerInitializers(OpenEJBContextConfig.java:436)
at
org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1265)
at
org.apache.tomee.catalina.OpenEJBContextConfig.webConfig(OpenEJBContextConfig.java:363)
at
org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:873)
- locked <0x0000000118d204b8> (a
org.apache.tomee.catalina.OpenEJBContextConfig)
at
org.apache.tomee.catalina.OpenEJBContextConfig.configureStart(OpenEJBContextConfig.java:113)
at
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:371)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5355)
- locked <0x0000000118d1f970> (a
org.apache.catalina.core.StandardContext)
at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
- locked <0x0000000118d1f970> (a
org.apache.catalina.core.StandardContext)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
More importantly, when/why did we start using findImplementations?
-David
--
Andy Gumbrecht
http://www.tomitribe.com
[email protected]
https://twitter.com/AndyGeeDe
TomEE treibt Tomitribe! | http://tomee.apache.org