2014-08-08 2:22 GMT+02:00 David Blevins <[email protected]>:
>
>
> On Aug 7, 2014, at 12:03 PM, Romain Manni-Bucau <[email protected]> wrote:
>
>> not sure I see the link between scanning and the fact it is not in the
>> same jar right now.
>
> I can only verify that adding the interface to the application (instead of in 
> the parent classloader) fixed the problem.  Was on/off like a light switch.
>

I'll try to have a look

>> About when? when we aligned on JAXRS spec so surely 1.6 or 1.5.
>
> I see the multithreaded/asynchronous stuff was added in October.  If you can 
> post some performance data that shows its worth, that'd be excellent.  
> Something like this:
>
>  - 
> http://mail-archives.apache.org/mod_mbox/openejb-dev/201204.mbox/%[email protected]%3E
>

Don't have details anymore byt was 500ms/4s about for my test app

> Specifically, what JAX-RS functionality would we lose not using 
> findImplementations?  Last performance measurements I did, it doubled our 
> scan time and wasn't required to pass the TCK.
>
>

Sorry was Servlet (too late answer ;)). @HandleTypes basically. We
have to support it by default and scanning it lazily just was making
us ridiculous.

Think it is time to really write this part of scanning in xbean...


> -David
>
>
>> 2014-08-07 20:52 GMT+02:00 David Blevins <[email protected]>:
>>> 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
>>>
>

Reply via email to