[ 
https://issues.apache.org/jira/browse/OWB-743?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Blevins updated OWB-743:
------------------------------

    Attachment: OverloadedEjbObserverMethodsTest.java
    
> Overloaded EJB Observer methods fail to deploy
> ----------------------------------------------
>
>                 Key: OWB-743
>                 URL: https://issues.apache.org/jira/browse/OWB-743
>             Project: OpenWebBeans
>          Issue Type: Bug
>    Affects Versions: 1.1.6
>            Reporter: David Blevins
>         Attachments: OverloadedEjbObserverMethodsTest.java
>
>
> Haven't had a chance to look into this -- hacking on other stuff at the 
> moment.  Clear bug, though.
> Attached test case will pass if one of the observer methods is renamed.  
> Things only fail when the method name is overloaded.
> org.apache.openejb.OpenEJBException: Creating application failed: 
> /private/var/folders/bd/f9ntqy1m8xj_fs006s6crtjh0000gn/T/0/gbuild: couldn't 
> start owb context
>       at 
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:959)
>       at 
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:537)
>       at 
> org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:982)
>       at 
> org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:901)
>       at 
> org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:118)
>       at 
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>       at 
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
>       at 
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173)
>       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>       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:633)
>       at 
> org.apache.tomee.catalina.TomcatWebAppBuilder.deployWar(TomcatWebAppBuilder.java:538)
>       at 
> org.apache.tomee.catalina.TomcatWebAppBuilder.deployWebApps(TomcatWebAppBuilder.java:509)
>       at 
> org.apache.tomee.catalina.deployment.TomcatWebappDeployer.deploy(TomcatWebappDeployer.java:44)
>       at org.apache.tomee.embedded.Container.deploy(Container.java:270)
>       at org.apache.tomee.embedded.Container.deploy(Container.java:258)
>       at 
> org.apache.openejb.arquillian.embedded.EmbeddedTomEEContainer.deploy(EmbeddedTomEEContainer.java:111)
>       at 
> org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:161)
>       at 
> org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:128)
>       at 
> org.jboss.arquillian.container.impl.client.container.ContainerDeployController.executeOperation(ContainerDeployController.java:271)
>       at 
> org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deploy(ContainerDeployController.java:127)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>       at 
> org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
>       at 
> org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
>       at 
> org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createDeploymentContext(ContainerDeploymentContextHandler.java:78)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>       at 
> org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
>       at 
> org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:57)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>       at 
> org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
>       at 
> org.jboss.arquillian.container.impl.client.container.DeploymentExceptionHandler.verifyExpectedExceptionDuringDeploy(DeploymentExceptionHandler.java:50)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>       at 
> org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
>       at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
>       at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
>       at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
>       at 
> org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:95)
>       at 
> org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:80)
>       at 
> org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachDeployment(ContainerDeployController.java:263)
>       at 
> org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachManagedDeployment(ContainerDeployController.java:239)
>       at 
> org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deployManaged(ContainerDeployController.java:79)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>       at 
> org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
>       at 
> org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
>       at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
>       at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
>       at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
>       at 
> org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:101)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>       at 
> org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
>       at 
> org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
>       at 
> org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>       at 
> org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
>       at 
> org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>       at 
> org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
>       at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
>       at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
>       at 
> org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:80)
>       at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:182)
>       at 
> org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
>       at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
>       at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
>       at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)
>       at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
>       at 
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:76)
>       at 
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195)
>       at 
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
> Caused by: org.apache.openejb.OpenEJBRuntimeException: couldn't start owb 
> context
>       at 
> org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize(ThreadSingletonServiceImpl.java:152)
>       at org.apache.openejb.cdi.CdiBuilder.build(CdiBuilder.java:44)
>       at 
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:807)
>       ... 107 more
> Caused by: org.apache.openejb.OpenEJBRuntimeException: 
> java.lang.ArrayIndexOutOfBoundsException: 1
>       at 
> org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:323)
>       at 
> org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize(ThreadSingletonServiceImpl.java:150)
>       ... 109 more
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
>       at java.util.Arrays$ArrayList.get(Arrays.java:3381)
>       at 
> org.apache.webbeans.util.ClassUtil.getClassMethodsWithTypes(ClassUtil.java:1065)
>       at 
> org.apache.webbeans.ejb.common.util.EjbValidator.validateObserverMethods(EjbValidator.java:146)
>       at 
> org.apache.webbeans.ejb.common.component.EjbBeanCreatorImpl.defineObserverMethods(EjbBeanCreatorImpl.java:108)
>       at 
> org.apache.webbeans.ejb.common.util.EjbUtility.fireEvents(EjbUtility.java:100)
>       at 
> org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:243)
>       ... 110 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to