[jboss-jira] [JBoss JIRA] Updated: (JBAS-7736) Webapp's <distributable/> configuration disabled if war includes jars in WEB-INF/lib

Brian Stansberry (JIRA) jira-events at lists.jboss.org
Mon Feb 15 13:43:10 EST 2010


     [ https://jira.jboss.org/jira/browse/JBAS-7736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian Stansberry updated JBAS-7736:
-----------------------------------

          Summary: Webapp's <distributable/> configuration disabled if war includes jars in WEB-INF/lib  (was: weld-numberguess example doesn't work with jboss-6.0.0.M2 in cluster)
      Component/s: Web (Tomcat) service
    Fix Version/s: JBossAS-6.0.0.M2
         Priority: Blocker  (was: Major)


This really has nothing to do with Weld; the problem will happen with any webapp with jars in WEB-INF/lib. The problem is the deploy method in it's handling of such jars 

1) if the jar *does not contain a web.xml fragment* it creates a new WebFragmentMetaData() which has getDistributable() == null.
2) augments that metadata object with information from annotations, none of which are related to distributable behavior
3) Augments the specMetaData with the values from that WebFragmentMetaData.

At least a temporary fix is, to set the distributable property on the new WebFragmentMetaData() to the value of the specMetaData. Only do this for WebFragmentMetaData created in this method as placeholders for annotation data; if the WebFragmentMetaData came from an actual web.xml fragment, the fragment's value must be respected.

Perhaps a better idea is to also catch cases where there is a) no web.xml fragment and b) no jarAnnotatedMetaData and in those cases skip the jar altogether. That will help avoid other subtle bugs like this one. But that's a more far-reaching change that I don't want to introduce right before M2, so I'll stick to the temporary fix above for M2 and open a subtask for M3.

> Webapp's <distributable/> configuration disabled if war includes jars in WEB-INF/lib
> ------------------------------------------------------------------------------------
>
>                 Key: JBAS-7736
>                 URL: https://jira.jboss.org/jira/browse/JBAS-7736
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Web (Tomcat) service
>    Affects Versions: JBossAS-6.0.0.M2
>         Environment: JBoss AS 6.0.0.M2, Weld 1.0.1 CR2
>            Reporter: Martin Gencur
>            Priority: Blocker
>             Fix For: JBossAS-6.0.0.M2
>
>
> Session replication doesn't work in WELD using JBoss AS 6.0.0.M2. More description how to run weld-numberguess example in cluster is in linked issue (except using JBoss AS 6.0.0.M2 instead of 6.0.0.M1).
> Additional tested configurations:
> 1) JBoss 6.0.0.M1 updated with current trunk of WELD (works fine !!)
> 2) JBoss 6.0.0.M2 updated with current trunk of WELD - doesn't work, after going to second browser to test session replication the application starts from scratch and doesn't continue with current session. The jboss AS's console doesn't output any error message
> 3) JBoss 6.0.0.M2 updated with WELD 1.0.1 CR2 - the same as 2)

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