PS: for jaxrs too we need impl (recent):
org.apache.openejb.config.AnnotationDeployer#findRestClasses


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 7:24 GMT+02:00 Romain Manni-Bucau <[email protected]>:
> BTW the interface in parent is not enough to reproduce
>
>
> 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 7:16 GMT+02:00 Romain Manni-Bucau <[email protected]>:
>> 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