Test and Upgrade your App Engine Java Application to a Java 7 runtime...now.

378 views
Skip to first unread message

Ludovic Champenois

unread,
Feb 27, 2013, 1:37:01 PM2/27/13
to google-a...@googlegroups.com
Hi,

As part of Google App Engine 1.7.5 release on February 13, 2013, we introduced Preview support of App Engine Java 7 runtime.  In early April, Google will commence upgrading our internal applications from Java 6 to Java 7.  In conjunction with this effort, we highly recommend that all of our App Engine customers begin testing and eventually migrate their applications to Java 7 runtime within the next couple of months. 

Please find below some additional technical information to assist with testing and migrating your application to Java 7 environment:

Java 6 and Java 7 Compatibility
 
In general, Java 7 runtime is backwards compatible with Java 6, and will run all pre-existing Java applications that did not rely on implementation-specific functionality.  Please refer to the Oracle white paper on Java 7 and Java 6 compatibility for additional details.

Procedure for Testing
 
For all your Java App Engine applications, here are the steps for testing in the new Java 7 environment.

1.  App Engine can support multiple live versions of a given application.  It is best to create a new version of your app and deploy it to a Java 7 runtime.

2.  You can deploy to a new Java 7 runtime with one of the following steps:

a)  Recompile your Java Application with a full JDK 7 compiler. You can test it with the GAE 1.7.5 SDK, and when ready, use the regular appcfg SDK tool that will detect that the Java byte code is Java 7 compliant and will use a Java7 runtime for this application version.

b)  If you are still compiling your Java application with a JDK 6 compiler, you can deploy to the Java 7 runtime by adding the --use_java7 flag to the appcfg SDK tool.

Please review the Google Java 7 Considerations paper for additional information on configuring Java 7. 

3.  Assuming you have your default application version still running with a Java 6 runtime and a new version running in Java 7, you can use the Google App Engine Traffic Splitting feature to slowly ramp up traffic on the new Java 7 runtime.  Consider starting with 5%, then increase gradually to 10%, 20%, and so on as your app is behaving as expected.  See our Traffic Splitting document for more information about this tool.

Thanks for spending the time to make sure your application is Java 7 ready now. Only a very few incompatible behaviors may have to be fixed in your applications. 

 

Ludovic Champenois

unread,
Mar 14, 2013, 9:56:32 PM3/14/13
to google-a...@googlegroups.com
Hi,
A quick status on the Java 7 migration: No news is good news right?
Applications (very large and small)  having tried or even completely upgraded to the Java 7 runtime have not discovered runtime issue: this is great news!
More applications every single day, and counting...

If you have not started testing your application with the new Java 7 runtime, this is the right time now to do it either with the current 1.7.5 release, or the coming 1.7.6 release (we push a preview SDK earlier this week).

Cheers.

Takashi Matsuo

unread,
Mar 15, 2013, 4:33:43 AM3/15/13
to google-a...@googlegroups.com

Hi,

FWIW, our official maven plugin also supports Java 7. Please use the following configurations:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <version>2.5.1</version>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.google.appengine</groupId>
                <artifactId>appengine-maven-plugin</artifactId>
                <version>${appengine.target.version}</version>
                <configuration>
                    <useJava7>true</useJava7>
                </configuration>
            </plugin>


--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To post to this group, send email to google-a...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Takashi Matsuo | Developers Advocate | tma...@google.com

Ludovic Champenois

unread,
Apr 4, 2013, 11:35:55 AM4/4/13
to google-a...@googlegroups.com
Hi,

It's coming! Are you ready?

Google App Engine Java SDK 1.7.7 (shipping very soon) will deploy all Java applications to the new Java 7 runtime. Did you do a sanity test with your current Java applications?  Many of you have done it already: Thank you! So far, no migration issues have been reported.

In general, Java 7 runtime is backwards compatible with Java 6, and will run all pre-existing Java applications that did not rely on implementation-specific functionality.  Please refer to the Oracle white paper on Java 7 and Java 6 compatibility for additional details.

It is still time to try deploying a new version of your application with the --use_java7 flag with the appcfg tool and and see that your application is behaving as before. Remenber that this flag will be on by default going forward in GAE 1.7.7. In the near future all App Engine Java applications will run a the new Java 7 runtime.

Cheers.
Reply all
Reply to author
Forward
0 new messages