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
-
+
+