Hi guys,

In Tomee 1.0
It seems that InvocationTargetException is thrown if you have a bean which
constructor invokes some methods of it's base class.

@Singleton
@Startup
@ConcurrencyManagement(ConcurrencyManagementType.BEAN)
public class StartupBean {

        @EJB
        private HelloBean hello;
        
        @PostConstruct
        public void init() {
                hello.sayHello();
        }
        
}

public class BaseHello {

        private String helloMsg;

        public String getHelloMessage() {
                return helloMsg;
        }
        
        public void setHelloMessage(String helloMsg) {
                this.helloMsg = helloMsg;
        }

}

@Singleton
@ConcurrencyManagement(ConcurrencyManagementType.BEAN)
public class HelloBean extends BaseHello {

        public HelloBean() {
                setHelloMessage("Hola");
        }
        
        public void sayHello() {
                System.out.println(getHelloMessage());
        }
        
}

Upon startup InvocationTargetException is thrown:
SEVERE: The bean instance StartupBean threw a system
exception:java.lang.InternalError:
java.lang.reflect.InvocationTargetException
java.lang.InternalError: java.lang.reflect.InvocationTargetException
        at
org.apache.openejb.util.proxy.LocalBeanProxyFactory.newProxyInstance(LocalBeanProxyFactory.java:44)
        at
org.apache.openejb.core.ivm.EjbHomeProxyHandler.createProxy(EjbHomeProxyHandler.java:138)
        at
org.apache.openejb.core.ivm.EjbHomeProxyHandler.create(EjbHomeProxyHandler.java:289)
        at
org.apache.openejb.core.ivm.EjbHomeProxyHandler._invoke(EjbHomeProxyHandler.java:174)
        at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:284)
        at $Proxy53.create(Unknown Source)
        at
org.apache.openejb.core.ivm.naming.BusinessLocalBeanReference.getObject(BusinessLocalBeanReference.java:33)
        at
org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:173)
        at
org.apache.openejb.core.ivm.naming.IntraVmJndiReference.getObject(IntraVmJndiReference.java:41)
        at
org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:173)
        at
org.apache.openejb.InjectionProcessor.fillInjectionProperties(InjectionProcessor.java:182)
        at
org.apache.openejb.InjectionProcessor.construct(InjectionProcessor.java:110)
        at
org.apache.openejb.InjectionProcessor.createInstance(InjectionProcessor.java:83)
        at org.apache.openejb.BeanContext.newInstance(BeanContext.java:1284)
        at
org.apache.openejb.core.singleton.SingletonInstanceManager.createInstance(SingletonInstanceManager.java:174)
        at
org.apache.openejb.core.singleton.SingletonInstanceManager.access$100(SingletonInstanceManager.java:66)
        at
org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:115)
        at
org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:113)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at
org.apache.openejb.core.singleton.SingletonInstanceManager.getInstance(SingletonInstanceManager.java:124)
        at
org.apache.openejb.core.singleton.SingletonInstanceManager.initialize(SingletonInstanceManager.java:90)
        at
org.apache.openejb.core.singleton.SingletonInstanceManager.start(SingletonInstanceManager.java:81)
        at
org.apache.openejb.core.singleton.SingletonContainer.start(SingletonContainer.java:118)
        at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:795)
        at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:506)
        at
org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:634)
        at
org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:588)
        at
org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:117)
        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:5161)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
        at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)





--
View this message in context: 
http://openejb.979440.n4.nabble.com/InvocationTargetException-upon-bean-initialization-tp4657081.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Reply via email to