[jboss-dev] Classloader changes from AS 4.2.2 to AS 4.2.3 affecting launch of Tool built Seam apps
Max Rydahl Andersen
max.andersen at redhat.com
Wed Apr 29 04:19:15 EDT 2009
Jaikiran, Thanks for you analysis - your explanation correlate with my
suspicion; exploded vs archived deploy is different and exploded results
in virtual duplication of .jar's even though there only is one!
This also explains other issue we had with Seam 2.1.x that also changed
their logic in scanning and now sees duplication of jars even though
there are none and afaics we can't even in Seam or any other framework
filter the url's in the classloader since they are unique even though
they originate from the same place.
>
> 1) Should (EJB) *deployments* be listed in the MANIFEST.MF files of
> other deployments. In this example the jboss-seam.jar which is a EJB
> deployment (marked as a "module" in application.xml) is listed in
> MANIFEST.MF of an xxx-ejb.jar deployment.
We list these in manifest.mf since that is the only way Eclipse can know
what is on the classpath; application.xml afaik does not attribute to
the classpath - at least I never seen an IDE does that (they might be
wrong ;)
In any case, listing it in manifest.mf and in application.xml should not
hurt anything since they should just resolve to the *same* jar.
> 2) Is the duplicate temp files for the same jar file (jboss-seam.jar)
> intentional? It's created once during the MANIFEST.MF parsing of
> xxx-ejb.jar deployment and once during deploying jboss-seam.jar
> deployment (which is listed as a module in application.xml).
This is *the* bug I believe ? This will keep causing problems...
Any suggestion for a workaround that still allow me to use *standard*
manifest.mf classpath entries ?
> --------------------
> Archived deployment :
> --------------------
> When the application is deployed as an archive, the deployment
> framework creates a exploded temp of the EAR in the tmp folder. It
> however does *not* create temps for the sub-deployments or the
> libraries within the ear. So there is only one jboss-seam.jar in
> tmp/sometmpName.ear-contents. Because of this the logic explained
> above, registers the SeamPhaseListener only once and hence no issues.
Why the difference in behavior ? Legacy ? Intentional ?
>> Why does it matter which letters we use in the deployment, i.e.
>> fseam.ear behaves different that seam.ear ?
> Though the JIRA mentions this, i don't see a reason why the name
> should matter. I did not see any other explanation in the JIRA as to
> how this fixed the issue. Is there some app which shows this behaviour?
The problem is that it only shows up sometimes - I have seen it several
times with capital letters (another bug) and even went so far to add a
warning in the ui that using capital letters as the first character were
not recommended.
I'll try and see if I can find a way to reproduce the situation with
different letters.
/max
More information about the jboss-development
mailing list