[ http://mc4j.org/jira/browse/STS-397?page=all ]
Tim Fennell resolved STS-397.
-----------------------------
Resolution: Fixed
Hey Jan....did you try this under the trunk code? Not to say that this isn't a
bug in the 1.4.x branch, but the code for doing the class scanning is
completely changed under 1.5/trunk. It no longer requires the ClassLoaders to
be URLClassLoaders but instead uses some other tricks that should be much more
compatible.
> 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: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development