You have to compile it using JDK 5.
The produced runtime is compatible with JDK 1.4. But since I have to support enumerations, I need to compile it with 5.
The feature that needs Enumeration is decoupled and there PersistManager does a test if the EnumPersister could be used or not.
This sounds dangerous as there are many changes other than bytecode compatibility based on the stuff jbosstretro needs to do. Just compiling to a 1.4 target/source level does not validate that jdk5 specific classes have not been used. Explain what the serialization issues are as we may need to breakup serialization into a jdk5 specific piece, or create two artifacts.
But I'm not using any JDK 5 feature. (keywords).
The only place I use *some* JDK 5 is on EnumerationPersister, and I'm only using API.
"Scott Stark" wrote:
Just compiling to a 1.4 target/source level does not validate that jdk5 specific classes have not been used.
I have tested it with JDK 1.4 before releasing it. I will make the testsuite run automatically on JDK 1.5 and JDK 1.4. (maybe cruisecontrol)
The keywords are not the problem. StringBuilder, new exception ctors, autoboxing, etc. are.
I will change compilation scripts for allowing compilation with JDK 1.4.
But Tim, did you find any problem running it with JDK 1.4?
If you did, it will completely change the priority on doing that.
Just for the record, Ovidiu confirmed with me that JBossSerialization CR4 works with JDK 1.4 without any problems.
I will change compilation scripts to make sure I won't create any dependency on JDK 5 in the future.
Forcing people to intsall JDK 1.5 to build for 1.4.2 doesn't strike me as the best design decision.