Google Previews Java 7 Support for App Engine
Google has included a preview of the forthcoming support for Java 7 in the October update to their Platform-as-a-Service App Engine. Currently it is limited to developer machines, and the vendor hasn't provide a timeframe for official support, simply stating:
In an upcoming release, we will be including some of the new Java 7 functionality, as well as formal Java 7 support within the App Engine Java runtime. Before this is available, we strongly encourage developers to start testing their applications using Java 7 and the latest App Engine Java SDK.
Google's Java 7 support is a subset that excludes method handles, the InvokeDynamic bytecode instruction, and, at least at present, all the new Java 7 classes. It does though support the new language features from project Coin:
- Strings in switch
- Binary integral literals and underscores in number literals
- Multi-catch and more precise rethrow
- Improved type inference for generic instance creation (diamond)
- try-with-resources statement
- Simplified varargs method invocation
The vendor has also added experimental support to allow Java developers to set classloading priority for specific JAR files in order to resolve collisions between class names. These can be configured using the <class-loader-config> element of an XML document:
The order of the <priority-specifier> elements themselves is not used, so if multiple JAR files are prioritized, their original loading order is used.