[jboss-jira] [JBoss JIRA] Updated: (JBAS-5332) Container artifacts should have symmetric lifecycles
Dimitris Andreadis (JIRA)
jira-events at lists.jboss.org
Tue Jun 3 09:48:55 EDT 2008
[ http://jira.jboss.com/jira/browse/JBAS-5332?page=all ]
Dimitris Andreadis updated JBAS-5332:
-------------------------------------
Fix Version/s: JBossAS-5.0.0.CR2
(was: JBossAS-5.0.0.CR1)
(was: JBossAS-4.2.3.GA)
Pushing non-critical issues to the next CR2. If you think they are critical for CR1, please re-schedule them.
> Container artifacts should have symmetric lifecycles
> ----------------------------------------------------
>
> Key: JBAS-5332
> URL: http://jira.jboss.com/jira/browse/JBAS-5332
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: EJB2
> Affects Versions: JBossAS-5.0.0.Beta4, JBossAS-4.2.2.GA
> Reporter: Adrian Brock
> Fix For: JBossAS-5.0.0.CR2
>
>
> The container artifacts i.e. [Session|Entity|MessageDriven]Container, interceptors, cache, pool, ProxyBindings
> should have symmetric create/start/stop/destroy methods.
> e.g. The MessageDrivenContainer does this in destroy
> // Destroy container invoker
> for (Iterator it = proxyFactories.keySet().iterator(); it.hasNext();)
> {
> String invokerBinding = (String) it.next();
> EJBProxyFactory ci = (EJBProxyFactory) proxyFactories.get(invokerBinding);
> ci.destroy();
> ci.setContainer(null);
> try
> {
> ObjectName containerName = super.getJmxName();
> Hashtable props = containerName.getKeyPropertyList();
> props.put("plugin", "invoker");
> props.put("binding", invokerBinding);
> ObjectName invokerName = new ObjectName(containerName.getDomain(), props);
> server.unregisterMBean(invokerName);
> }
> catch(Throwable ignore)
> {
> }
> }
> The setContainer(null) is wrong since it isn't the one that sets the container in create()
> that is done by EjbModule in its createService() method
> In this case, the fix is to either move the setting of container to MessageDrivenContainer::createService()
> or move the nulling of the container to EjbModule::destroyService()
> Other artifacts also need checking and fixing with tests writing to validate that each container can
> go through a stop/destroy/create/start lifecycle and still function correctly.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list