[
https://issues.apache.org/jira/browse/WW-3234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12839775#action_12839775
]
Brad Cupit commented on WW-3234:
--------------------------------
please merge this into the 2.1 branch so 2.1.9 will have this fix too.
Thanks!
> Update ClassFinder and PackageBasedActionConfigBuilder to avoid loading
> unnecessary classes in package scan, avoid spurious warnings and other
> benefits
> -------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WW-3234
> URL: https://issues.apache.org/jira/browse/WW-3234
> Project: Struts 2
> Issue Type: Improvement
> Components: Plugin - Convention
> Affects Versions: 2.1.8
> Reporter: Brian Ferris
> Assignee: musachy
> Fix For: 2.2.0
>
> Attachments:
> struts2-2.1.8-SNAPSHOT-PackageBasedActionConfigBuilder.patch,
> xworks-2.1.6-SNAPSHOT-ClassFinder.patch
>
>
> By default, the PackageBasedActionConfigBuilder used in the Convention plugin
> uses the ClassFinder utility class from XWorks to look for potential action
> classes on the classpath. The behavior of the ClassFinder is to scan every
> .class file on the classpath and attempt to load it. Once all classes have
> been loaded, the PackageBasedActionConfigBuilder evaluates each loaded class
> to see if it is an action (is in the right package? does it have the proper
> name? does it implement Action?).
> While this works fine, the process of loading EVERY classes on the classpath
> can produce a ton of error messages as the ClassFinder attempts to load
> classes that potentially have unsatisfied dependencies or other issues.
> While these are non-fatal messages, they tend to initially confuse users
> (like me!). See a couple examples I found Googling:
> http://www.mail-archive.com/[email protected]/msg85317.html
> http://www.mail-archive.com/[email protected]/msg00048.html
> http://article.gmane.org/gmane.comp.jakarta.struts.user/168495
> I can give more justifications why this is annoying if needed, but even
> better, here's a patch to fix the issue. It's a little tricky because it
> requires a patch to ClassFinder (which is in xworks... hopefully you guys can
> deal with that?) and to PackageBasedActionConfigBuilder. The patch to
> ClassFinder allows specifying an optional class name filter to prevent the
> load of classes. The patch to PackageBasedActionConfigBuilder constructs an
> appropriate filter from the various package hints specified in the class.
> All together, we get the exact same class loading behavior without all those
> annoying error messages.
> Thoughts?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.