[jboss-jira] [JBoss JIRA] Updated: (JBAS-5332) Container artifacts should have symmetric lifecycles
Dimitris Andreadis (JIRA)
jira-events at lists.jboss.org
Mon Sep 15 05:26:20 EDT 2008
[ https://jira.jboss.org/jira/browse/JBAS-5332?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dimitris Andreadis updated JBAS-5332:
-------------------------------------
Fix Version/s: JBossAS-5.0.1.CR1
(was: JBossAS-5.0.0.CR2)
Assignee: Emanuel Muckenhuber
Assign to Emanuel for the next point release.
> Container artifacts should have symmetric lifecycles
> ----------------------------------------------------
>
> Key: JBAS-5332
> URL: https://jira.jboss.org/jira/browse/JBAS-5332
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: EJB2
> Affects Versions: JBossAS-4.2.2.GA, JBossAS-5.0.0.Beta4
> Reporter: Adrian Brock
> Assignee: Emanuel Muckenhuber
> Fix For: JBossAS-5.0.1.CR1
>
>
> 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: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list