Java 8 made a changes to generics that is currently not allowing camel to start up, and if it did start up would be in a bad state. Bridge methods now get a copy of the annotations placed on the real method. This is bad when combined with Camel annotations. For example:
interface Something<T extends SomeType> { void doSomethingWith(T it); } class Foo implements Something<RealType> { @Consume(uri = "...") @Override public void doSomethingWith(RealType it) { ..... } } The class the compiler makes actually looks like this because of type erasure: class Foo implements Something<RealType> { @Consume(uri = "...") @Override public void doSomethingWith(RealType it) { ..... } @Consume(uri = "...") @Override public void doSomethingWith(SomeType it) { ..... } } This is a breaking change as far as Camel is concered for 2 reasons: 1. BeanInfo.isValidMethod does not allow for bridge methods 2. There are now 2 methods listening to the same endpoint Is this a bug that should be reported? Any ideas on a workaround? I'm about to downgrade to java 7. -- View this message in context: http://camel.465427.n5.nabble.com/Changes-in-Java-8-generics-breaking-Camel-tp5760638.html Sent from the Camel - Users mailing list archive at Nabble.com.