[
https://jira.jboss.org/jira/browse/JBSEAM-3999?page=com.atlassian.jira.pl...
]
Norman Richards commented on JBSEAM-3999:
-----------------------------------------
I've verified the race condition. Although we've known that components are
registered before they are completely initialized, I didn't realize there was
potential for duplicate instances to be created. Since these are application-scoped
components, I think we can justify some sort of synchronization around new instance
creation. Since conversations are already serialized, this shouldn't be a big issue
for other scopes.
Race condition in component initialization
------------------------------------------
Key: JBSEAM-3999
URL:
https://jira.jboss.org/jira/browse/JBSEAM-3999
Project: Seam
Issue Type: Bug
Components: Core
Affects Versions: 2.1.1.GA
Reporter: Stuart Douglas
Assignee: Norman Richards
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.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira