[ http://mc4j.org/jira/browse/STS-397?page=all ]
Jan Moravec updated STS-397:
----------------------------
Attachment: ResolverUtil.java
Patched ResolverUtil.java that successfully discovers action beans located in
utility JARs inside an EAR file deployed under JBoss (4).
> ResolverUtil fails to load action beans outside WEB-INF under JBoss
> -------------------------------------------------------------------
>
> Key: STS-397
> URL: http://mc4j.org/jira/browse/STS-397
> Project: Stripes
> Issue Type: Bug
> Affects Versions: Release 1.4.3
> Environment: Windows 2000, JDK 1.5.0.11, JBoss 4.0.2
> Reporter: Jan Moravec
> Assigned To: Tim Fennell
> Attachments: ResolverUtil.java
>
>
> I encountered problem with Stripes failing to find action beans located
> outside WEB-INF/class. No exception was thrown, the action beans just were
> not found. After some digging I came to the following conclusion and solution:
> The current dynamic action bean discovery implementation makes use of the
> URLs returned from URLClassLoaders found in the CL hierarchy of the current
> thread context CL. This is an example of the CL hierarchy with dumped URLs of
> the found URLClassLoader instances under JBoss:
> 10:56:43,218 INFO (RMI TCP Connection(3)-192.168.1.65) [STDOUT]
> WebappClassLoader
> delegate: false
> repositories:
> /WEB-INF/classes/
> ----------> Parent Classloader:
> [EMAIL PROTECTED]
>
> file:/C:/JBoss/server/eshops/tmp/deploy/tmp5995eshops.ear-contents/eshops-exp.war/WEB-INF/classes/
> [EMAIL PROTECTED]
> empty URLs
> [EMAIL PROTECTED]
> url=file:/C:/JBoss/server/eshops/tmp/deploy/tmp5995eshops.ear ,addedOrder=28}
> empty URLs
> [EMAIL PROTECTED]
> empty URLs
> [EMAIL PROTECTED]
> empty URLs
> [EMAIL PROTECTED]
> file:/C:/Java/Jdk1.5/lib/tools.jar
> file:/C:/JBoss/bin/run.jar
> [EMAIL PROTECTED]
> file:/C:/Java/Jdk1.5/jre/lib/ext/bcprov.jar
> file:/C:/Java/Jdk1.5/jre/lib/ext/dnsns.jar
> file:/C:/Java/Jdk1.5/jre/lib/ext/localedata.jar
> file:/C:/Java/Jdk1.5/jre/lib/ext/localedata.pack
> file:/C:/Java/Jdk1.5/jre/lib/ext/sunjce_provider.jar
> file:/C:/Java/Jdk1.5/jre/lib/ext/sunpkcs11.jar
> As one can see, the URLs of EAR's utility JARs are not exposed by JBoss
> org.jboss.mx.loading.UnifiedClassLoader3. And that is even though the UCL is
> a subclass of URLClassLoader! Its getURLs method seems to return an empty
> array.
> One needs to call getClasspath() method on the UCL to obtain the array of
> URLs of JARs inside the deployed EAR. These URLs can then be normally scanned
> for ActionBean instances. I have a patched version of ResolverUtil class that
> seems to work. I will attach it later if I find out how to do that (no file
> upload on this screen).
> Maybe the action bean discovery mechanism should be configurable because you
> may need similar hacks for other application servers....
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://mc4j.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development