David,
I've tried the dependsOn annotation too, and the singleton bean is executed
before the stateless beans initialization.
[]s,
Thiago.

On Wed, Jul 7, 2010 at 8:21 PM, Thiago Veronezi <[email protected]> wrote:

> Hi, David!
> Thanks for the commit.
> I tried to run my application again. This time with the latest commit,
> but unfortunately it is not working yet. I'm facing the same exception.
> Ill try to find another way to fix it.
> tkx,
> Thiago.
>
> The stacktrace...
> .
> .
> .
>   [exec] The bean instance threw a system exception:javax.ejb.EJBException:
> Unknown Container Exception
>      [exec] javax.ejb.EJBException: Unknown Container Exception
>      [exec] at
> org.apache.openejb.core.ivm.EjbHomeProxyHandler._invoke(EjbHomeProxyHandler.java:264)
>      [exec] at
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:282)
>      [exec] at $Proxy48.create(Unknown Source)
>      [exec] at
> org.apache.openejb.core.ivm.naming.BusinessLocalReference.getObject(BusinessLocalReference.java:33)
>      [exec] at
> org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:171)
>      [exec] at
> org.apache.openejb.core.ivm.naming.IntraVmJndiReference.getObject(IntraVmJndiReference.java:39)
>      [exec] at
> org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:171)
>      [exec] at
> org.apache.openejb.core.singleton.SingletonInstanceManager.fillInjectionProperties(SingletonInstanceManager.java:265)
>      [exec] at
> org.apache.openejb.core.singleton.SingletonInstanceManager.createInstance(SingletonInstanceManager.java:171)
>      [exec] at
> org.apache.openejb.core.singleton.SingletonInstanceManager.access$100(SingletonInstanceManager.java:66)
>      [exec] at
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:92)
>      [exec] at
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:90)
>      [exec] at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>      [exec] at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>      [exec] at
> org.apache.openejb.core.singleton.SingletonInstanceManager.getInstance(SingletonInstanceManager.java:102)
>      [exec] at
> org.apache.openejb.core.singleton.SingletonContainer.deploy(SingletonContainer.java:141)
>      [exec] at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:598)
>      [exec] at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:449)
>      [exec] at
> org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:367)
>      [exec] at
> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:279)
>      [exec] at
> org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:125)
>      [exec] at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:60)
>      [exec] at org.apache.openejb.OpenEJB.init(OpenEJB.java:271)
>      [exec] at org.apache.openejb.OpenEJB.init(OpenEJB.java:250)
>      [exec] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>      [exec] at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>      [exec] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>      [exec] at java.lang.reflect.Method.invoke(Method.java:597)
>      [exec] at
> org.apache.openejb.loader.OpenEJBInstance.init(OpenEJBInstance.java:36)
>      [exec] at
> org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:71)
>      [exec] at
> org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:53)
>      [exec] at
> org.apache.openejb.client.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:42)
>      [exec] at
> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
>      [exec] at
> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>      [exec] at javax.naming.InitialContext.init(InitialContext.java:223)
>      [exec] at javax.naming.InitialContext.<init>(InitialContext.java:197)
>      [exec] at
> iserver.iserver.server.ejb.EjbServer.start(EjbServer.java:68)
>      [exec] at
> iserver.iserver.server.ejb.EjbServerThread.run(EjbServerThread.java:45)
>      [exec] at java.lang.Thread.run(Thread.java:619)
>      [exec] Application could not be deployed:
>  /home/boto/Desktop/ws_iserver/iroot/target/system/ejbs/iservice.jar
>      [exec] org.apache.openejb.OpenEJBException: Creating application
> failed: /home/boto/Desktop/ws_iserver/iroot/target/system/ejbs/iservice.jar:
> Error deploying 'ApplicationImpl'.  Exception: class
> org.apache.openejb.OpenEJBException: Singleton startup failed:
> ApplicationImpl: javax.ejb.NoSuchEJBException: Singleton failed to
> initialize: Singleton failed to initialize: Singleton startup failed:
> ApplicationImpl: javax.ejb.NoSuchEJBException: Singleton failed to
> initialize: Singleton failed to initialize
>      [exec] at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:673)
>      [exec] at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:449)
>      [exec] at
> org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:367)
>      [exec] at
> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:279)
>      [exec] at
> org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:125)
>      [exec] at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:60)
>      [exec] at org.apache.openejb.OpenEJB.init(OpenEJB.java:271)
>      [exec] at org.apache.openejb.OpenEJB.init(OpenEJB.java:250)
>      [exec] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>      [exec] at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>      [exec] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>      [exec] at java.lang.reflect.Method.invoke(Method.java:597)
>      [exec] at
> org.apache.openejb.loader.OpenEJBInstance.init(OpenEJBInstance.java:36)
>      [exec] at
> org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:71)
>      [exec] at
> org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:53)
>      [exec] at
> org.apache.openejb.client.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:42)
>      [exec] at
> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
>      [exec] at
> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>      [exec] at javax.naming.InitialContext.init(InitialContext.java:223)
>      [exec] at javax.naming.InitialContext.<init>(InitialContext.java:197)
>      [exec] at
> iserver.iserver.server.ejb.EjbServer.start(EjbServer.java:68)
>      [exec] at
> iserver.iserver.server.ejb.EjbServerThread.run(EjbServerThread.java:45)
>      [exec] at java.lang.Thread.run(Thread.java:619)
>      [exec] Caused by: org.apache.openejb.OpenEJBException: Error deploying
> 'ApplicationImpl'.  Exception: class org.apache.openejb.OpenEJBException:
> Singleton startup failed: ApplicationImpl: javax.ejb.NoSuchEJBException:
> Singleton failed to initialize: Singleton failed to initialize: Singleton
> startup failed: ApplicationImpl: javax.ejb.NoSuchEJBException: Singleton
> failed to initialize: Singleton failed to initialize
>      [exec] at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:601)
>      [exec] ... 22 more
>      [exec] Caused by: org.apache.openejb.OpenEJBException: Singleton
> startup failed: ApplicationImpl: javax.ejb.NoSuchEJBException: Singleton
> failed to initialize: Singleton failed to initialize
>      [exec] at
> org.apache.openejb.core.singleton.SingletonContainer.deploy(SingletonContainer.java:146)
>      [exec] at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:598)
>      [exec] ... 22 more
>      [exec] Caused by: org.apache.openejb.ApplicationException:
> javax.ejb.NoSuchEJBException: Singleton failed to initialize: Singleton
> failed to initialize
>      [exec] at
> org.apache.openejb.core.singleton.SingletonInstanceManager.createInstance(SingletonInstanceManager.java:243)
>      [exec] at
> org.apache.openejb.core.singleton.SingletonInstanceManager.access$100(SingletonInstanceManager.java:66)
>      [exec] at
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:92)
>      [exec] at
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:90)
>      [exec] at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>      [exec] at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>      [exec] at
> org.apache.openejb.core.singleton.SingletonInstanceManager.getInstance(SingletonInstanceManager.java:102)
>      [exec] at
> org.apache.openejb.core.singleton.SingletonContainer.deploy(SingletonContainer.java:141)
>      [exec] ... 23 more
>      [exec] Caused by: javax.ejb.NoSuchEJBException: Singleton failed to
> initialize
>      [exec] ... 31 more
>      [exec] Caused by: javax.ejb.EJBException: Unknown Container Exception
>      [exec] at
> org.apache.openejb.core.ivm.EjbHomeProxyHandler._invoke(EjbHomeProxyHandler.java:264)
>      [exec] at
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:282)
>      [exec] at $Proxy48.create(Unknown Source)
>      [exec] at
> org.apache.openejb.core.ivm.naming.BusinessLocalReference.getObject(BusinessLocalReference.java:33)
>      [exec] at
> org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:171)
>      [exec] at
> org.apache.openejb.core.ivm.naming.IntraVmJndiReference.getObject(IntraVmJndiReference.java:39)
>      [exec] at
> org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:171)
>      [exec] at
> org.apache.openejb.core.singleton.SingletonInstanceManager.fillInjectionProperties(SingletonInstanceManager.java:265)
>      [exec] at
> org.apache.openejb.core.singleton.SingletonInstanceManager.createInstance(SingletonInstanceManager.java:171)
>      [exec] ... 30 more
> .
> .
> .
>
>
>
> On Wed, Jul 7, 2010 at 3:34 AM, David Blevins <[email protected]>wrote:
>
>>
>> On Jun 24, 2010, at 12:48 PM, Thiago Veronezi wrote:
>>
>> > Hi, devs!
>> > Im still alive... Im just having a good rush at work these days.
>> Anyways, I
>> > just found an opportunity to contribute for both projects. :O)
>>
>> :)
>>
>> > I've opened and fixed the following issue:
>> > https://issues.apache.org/jira/browse/OPENEJB-1304
>> > When you have time, please review this guy for me.
>>
>> Looks like there may be a startup ordering issue related to this added
>> feature:
>>
>>  https://issues.apache.org/jira/browse/OPENEJB-1296
>>
>> I committed the part of the patch that deals with avoiding calling
>> PreDestroy on instances that where never created -- good catch!  The
>> assembler fix that changes the sort order isn't quite right as it is
>> essentially what we had before OPENEJB-1296, but clearly something along
>> that lines will be needed.  I'm not sure if this will work, but I tried
>> adding back in the "sort singletons to the back" sort but this time before
>> the @DependsOn sort so the @DependsOn will still take precedence.  That's
>> the theory anyway, not sure if the @DependsOn is a stable sort -- seem to
>> recall it was slightly unstable -- and it may not do the trick.
>>
>> Any chance you can give it a whirl and let us know if it does the trick?
>>
>> Thanks for reporting this, Thiago!
>>
>>
>> -David
>>
>>
>

Reply via email to