When starting up application (or session) scoped component that do not have an @Startup annotation it is possible to get a race condition where two instances of the component are instantiated, as no locking is present in component initialization. I ran into this when my multi-threaded reporting process was the first component to hit the cache and jboss cache provider got instantiated twice:
`16:54:48,717 INFO [JbossCacheProvider] Starting JBoss Treecache 1.x
16:54:48,717 INFO [JbossCacheProvider] Starting JBoss Treecache 1.x`
In this case it is easy to work around, by simply adding startup="true" to the application scoped component. It is also possible to make calls on a component before the create method is called.