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
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to