I figured it out - and it's just plain evil: The methods and argument types (at runtime) are essentially the same between 1.5 and 1.6. But the 1.5 ExecutorService API does not use generics captures for its method arguments while 1.6 does:
1.5: <T> T invokeAny(Collection<Callable<T>> tasks) ... 1.6: <T> T invokeAny(Collection<? extends Callable<T>> tasks) ... dunno how to resolve this. It simply won't compile on one or the other, depending on what method signature you want to declare. This is frustrating because the end runtime result is identical for both JVMs :( On Mon, Feb 22, 2010 at 11:13 AM, Kalle Korhonen <[email protected]> wrote: > It's a JDK5 thing. You need a cast somewhere to the proper subtype. > JDK6 is better/more lenient with these. 1.5 language level just checks > for the correctness of syntax but you will not catch errors like this > (or say, a missing class from rt.jar) if you don't use the right JDK. > I'll take a look - I was holding off since I knew you were working on > it. > > Kalle > > > On Mon, Feb 22, 2010 at 7:26 AM, Les Hazlewood <[email protected]> wrote: >> Does anyone know why this is happening? The project compiles fine on >> all machines I've used. The implementation most certainly does >> implement the interface method that the Hudson build is complaining >> about. >> >> I'm assuming it's a JDK 1.5 vs 1.6 thing? Because the implementation >> does exist. My IDE is configured to use a 1.5 language level, but my >> maven build is running against 1.6. >> >> Any ideas? >> >> On Fri, Feb 19, 2010 at 6:16 PM, Apache Hudson Server >> <[email protected]> wrote: >>> See >>> <http://hudson.zones.apache.org/hudson/job/Shiro/org.apache.shiro$shiro-core/147/changes> >>> >>> Changes: >>> >>> [lhazlewood] SHIRO-140 - added initial implementations with basic tests. >>> More tests to come over the weekend. Need to document this in the wiki too. >>> >>> ------------------------------------------ >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] Building Apache Shiro :: Core >>> [INFO] task-segment: [deploy] >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] [remote-resources:process {execution: default}] >>> [INFO] [resources:resources {execution: default-resources}] >>> [INFO] Using 'UTF-8' encoding to copy filtered resources. >>> [INFO] Copying 1 resource >>> [INFO] Copying 3 resources >>> [INFO] [compiler:compile {execution: default-compile}] >>> [INFO] Compiling 253 source files to >>> <http://hudson.zones.apache.org/hudson/job/Shiro/org.apache.shiro$shiro-core/ws/target/classes> >>> [HUDSON] Archiving >>> <http://hudson.zones.apache.org/hudson/job/Shiro/org.apache.shiro$shiro-core/ws/pom.xml> >>> to >>> /export/home/hudson/hudson/jobs/Shiro/modules/org.apache.shiro$shiro-core/builds/2010-02-19_23-16-04/archive/org.apache.shiro/shiro-core/1.0-incubating-SNAPSHOT/pom.xml >>> [INFO] >>> ------------------------------------------------------------------------ >>> [ERROR] BUILD FAILURE >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] Compilation failure >>> >>> <http://hudson.zones.apache.org/hudson/job/Shiro/org.apache.shiro$shiro-core/ws/src/main/java/org/apache/shiro/concurrent/SubjectAwareExecutorService.java>:[59,7] >>> org.apache.shiro.concurrent.SubjectAwareExecutorService is not abstract >>> and does not override abstract method >>> <T>invokeAny(java.util.Collection<java.util.concurrent.Callable<T>>,long,java.util.concurrent.TimeUnit) >>> in java.util.concurrent.ExecutorService >>> >>> <http://hudson.zones.apache.org/hudson/job/Shiro/org.apache.shiro$shiro-core/ws/src/main/java/org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.java>:[30,7] >>> org.apache.shiro.concurrent.SubjectAwareScheduledExecutorService is not >>> abstract and does not override abstract method >>> <T>invokeAny(java.util.Collection<java.util.concurrent.Callable<T>>,long,java.util.concurrent.TimeUnit) >>> in java.util.concurrent.ExecutorService >>> >>> >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] For more information, run Maven with the -e switch >>> [INFO] >>> ------------------------------------------------------------------------ >>> [INFO] Total time: 20 seconds >>> [INFO] Finished at: Fri Feb 19 23:16:40 UTC 2010 >>> [INFO] Final Memory: 27M/208M >>> [INFO] >>> ------------------------------------------------------------------------ >>> Waiting for Hudson to finish collecting data >>> >>> >> >
