Greg,

Back on July 9, you added @Override to 
FactoryMethodConnectionSource$1#getParentLogger() in one of your bulk commits. 
I'm sure you'll recall the repetitive discussion that followed. :-)

This method is specified in Java 7 JDBC 4.1 and must be present for the class 
to compile on Java 7. However, it is not specified in Java 6 JDBC 4.0, and thus 
adding @Override makes Log4j stop compiling on Java 6. Which it now doesn't do.

This is the downside of letting IDEs make bulk changes like this for us, and 
why I argued against these bulk changes a month ago. This is the second time 
this has happened on this exact same method. The method is clearly labeled:

                // method must be present to compile on Java 7, @Override must 
be absent to compile on Java 6

But the IDE can't see this. Only when developers do test tasks manually can 
they notice things like that. My thoughts:

1) Your IDE must be configured incorrectly, Greg. I have Java 6, Java 7, and 
Java 8 installed on my machine. In IntelliJ IDEA, I have Log4j configured to 
use the Java 6 JDK with the 1.6 language level. It never makes or even suggests 
changes like this. You must have it configured to use your Java 7 JDK 
installation. If it's all set up for Java 6 and this is still happening, I 
suggest using a different IDE.

2) I'm going to renew my call to end bulk changes like this. This is not 
working out.

I have reverted the change on this method.

Nick
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to