I noticed, while migrating some code from JBoss 3.2.7 to JBoss 4.0.4.GA, that
there's a problem with "commons-logging.jar". I tried building something, with
the JBoss version of this jar in my classpath, and I got a "cannot resolve
symbol" error.
symbol : method getLogger ()
location: class org.apache.commons.logging.impl.Log4JLogger
Logger logger = ((Log4JLogger)log).getLogger();
Interesting... I took a look at the Apache commons logging javadocs, and they
do list "getLogger" as a public method of "Log4JLogger". Just to be sure, I
checked the javadocs for all releases... Every release since "Logger"
superceded "Category" does have this method.
I next looked at the "jar-versions.xml" file, supplied with the JBoss
distribution. It lists the "implVersion" for "commons-logging.jar" as
"1.0.5.GA-jboss" and indicates that this is a patched version from JBoss.
I read something elsewhere on the JBoss site indicating that this patch somehow
involves dynamic loading of the log4j.jar (or was it log4j.properties?) Maybe
someone decided to conveniently eliminate a pesky method, while working on this
patch...
Is this API change a mistake, or is it intentional? I don't think Apache would
be happy to know that JBoss is changing their API! :)
Any suggestions on getting around this, besides "don't call that method"? I'm
not using .ear files, so it's not easy for me to replace commons-logging.jar
just for my application. (I'd have to drop a replacement jar into the "deploy"
directory, or my own "lib" directory, and I think that would cause trouble.
Thanks for any insight!
Mike
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3950964#3950964
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3950964
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user