diff --git a/appengine-java8/cloudsql/pom.xml b/appengine-java8/cloudsql/pom.xml index 99ce2bcba72..e42471787da 100644 --- a/appengine-java8/cloudsql/pom.xml +++ b/appengine-java8/cloudsql/pom.xml @@ -39,12 +39,11 @@ myPassword sqldemo - 1.8 1.8 - + @@ -68,7 +67,8 @@ - + + mysql mysql-connector-java 5.1.42 @@ -76,7 +76,7 @@ com.google.cloud.sql - mysql-socket-factory + mysql-socket-factory 1.0.3 diff --git a/appengine-java8/cloudsql/src/main/java/com/example/appengine/cloudsql/CloudSqlServlet.java b/appengine-java8/cloudsql/src/main/java/com/example/appengine/cloudsql/CloudSqlServlet.java index 6647b269589..cd198495215 100644 --- a/appengine-java8/cloudsql/src/main/java/com/example/appengine/cloudsql/CloudSqlServlet.java +++ b/appengine-java8/cloudsql/src/main/java/com/example/appengine/cloudsql/CloudSqlServlet.java @@ -16,8 +16,10 @@ package com.example.appengine.cloudsql; +import com.google.apphosting.api.ApiProxy; import com.google.common.base.Stopwatch; + import java.io.IOException; import java.io.PrintWriter; import java.net.Inet4Address; @@ -30,6 +32,7 @@ import java.sql.SQLException; import java.sql.Timestamp; import java.util.Date; +import java.util.Map; import java.util.concurrent.TimeUnit; import javax.servlet.ServletException; @@ -100,15 +103,17 @@ public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOExc @Override public void init() throws ServletException { try { - String url = System.getProperty("cloudsql"); + ApiProxy.Environment env = ApiProxy.getCurrentEnvironment(); + Map attr = env.getAttributes(); + String hostname = (String) attr.get("com.google.appengine.runtime.default_version_hostname"); + + String url = hostname.contains("localhost:") + ? System.getProperty("cloudsql-local") : System.getProperty("cloudsql"); log("connecting to: " + url); try { - Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(url); - } catch (ClassNotFoundException e) { - throw new ServletException("Error loading JDBC Driver", e); } catch (SQLException e) { - throw new ServletException("Unable to connect to PostGre", e); + throw new ServletException("Unable to connect to Cloud SQL", e); } } finally { diff --git a/appengine-java8/cloudsql/src/main/webapp/WEB-INF/appengine-web.xml b/appengine-java8/cloudsql/src/main/webapp/WEB-INF/appengine-web.xml index bd7a30632f4..5cc46f47ba9 100644 --- a/appengine-java8/cloudsql/src/main/webapp/WEB-INF/appengine-web.xml +++ b/appengine-java8/cloudsql/src/main/webapp/WEB-INF/appengine-web.xml @@ -15,9 +15,13 @@ true java8 + true + + cloudsql - + +