[jboss-jira] [JBoss JIRA] Updated: (JBAS-4958) ActivationConfigMetaData is not merged correctly in the new metadata

Adrian Brock (JIRA) jira-events at lists.jboss.org
Fri Nov 9 12:53:45 EST 2007


     [ http://jira.jboss.com/jira/browse/JBAS-4958?page=all ]

Adrian Brock updated JBAS-4958:
-------------------------------

    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

  was:
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!

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


> ActivationConfigMetaData is not merged correctly in the new metadata
> --------------------------------------------------------------------
>
>                 Key: JBAS-4958
>                 URL: http://jira.jboss.com/jira/browse/JBAS-4958
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: JMS service
>            Reporter: Adrian Brock
>             Fix For:  JBossAS-5.0.0.Beta3
>
>
> 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

-- 
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