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

ActivationConfigMetaData is not merged correctly in the new metadata

    XMLWordPrintable

Details

    Description

      In JBossMessageDrivenMetaData it is merging the activation-config-propertys between ejb-jar.xml
      and jboss.xml by simply checking whether the jboss.xml has any and using that in preference to the ejb-jar.xml

      In fact, it always has them since it is initialized on field

      /** The activation config */
      private ActivationConfigMetaData activationConfig = new ActivationConfigMetaData();

      JBossMessageDrivenBeanMetaData joverride = (JBossMessageDrivenBeanMetaData) override;
      MessageDrivenBeanMetaData soriginal = (MessageDrivenBeanMetaData) original;
      ...
      // activationConfig
      if(joverride != null && joverride.activationConfig != null)
      activationConfig = joverride.activationConfig;
      else if(soriginal != null && soriginal.getActivationConfig() != null)
      activationConfig = soriginal.getActivationConfig();

      The joverride.activationConfig is always not null when there is a jboss.xml!

      Instead, what it needs to do is merge on per property basis.
      i.e. take all the properties from ejb-jar.xml and jboss.xml favouring jboss.xml if there is a duplicate property name.

      Because of this, it is currently impossible to define an activation-config-property in ejb-jar.xml unless there is no jboss.xml

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: