Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-5332

Container artifacts should have symmetric lifecycles

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 6.0.0.M3
    • JBossAS-4.2.2.GA, JBossAS-5.0.0.Beta4
    • EJB2
    • None

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              emuckenhuber_jira Emanuel Muckenhuber (Inactive)
              adrian.brock Adrian Brock (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: