I have created a Java 7 compliant osgi spec bundle in Karaf.
So if we need the generics we could use this. As the module is basically just a pom we could also simply do the same in camel to avoid
the additional dependency. <groupId>org.apache.karaf</groupId> <artifactId>org.osgi.core</artifactId> <version>3.0.0-SNAPSHOT</version> Christian Am 08.05.2012 04:56, schrieb Daniel Kulp:
You likely saw a bunch of commits from me today. I'm trying to get Camel to be at least somewhat buildable and testable with Java7. With the changes today, Everything except camel-quickfix is compilable with Java7. I've slowing beginning to work through the tests. I just got the camel- spring stuff passing which is a big step. I'll start going through more of them tomorrow. The three major "problems" are camel-test-blueprint, camel-twitter, and camel-quickfix. All three of them rely on libraries that are "Java 1.4 compatible" via the "-target jsr14" compiler flag on a Java5 vm. This allowed the code to work with Java 1.4, yet still use the Generics and such. Java6 apparently reads those types of classes fine and resolves the generics. Java 7 does not. It sees 1.4 class files and doesn't grab any generics from them. For camel-test-blueprint, I forced the older osgi-core lib in front which doesn't have the generics. Thus, both Java6 and 7 see the same non- generics enabled class files. For camel-twitter, I changed from mock classes to using java.lang.reflect.Proxy object to mock the interfaces. Thus, we don't have to compile classes that actually implement the troublesome interfaces. Haven't found a solution for camel-quickfix yet. Thus, for java7, I've removed that module from the build for now. It looks like quickfix builds with java5 and then retrotranslates to java1.4. I think the j1.4 version is what maven is picking up. May need to find the 1.5 version and get that into maven. Anyway, things are progressing.
-- Christian Schneider http://www.liquid-reality.de Open Source Architect Talend Application Integration Division http://www.talend.com