App Engine Java Servlet no se conecta a Cloud SQL

He creado un servlet web java utilizando el motor de aplicaciones, el servlet realiza solicitudes a una base de datos. He probado el servlet localmente usando una base de datos local y funcionó a la perfección, luego procedí a probar el servlet localmente, pero antes de acceder a la base de datos SQL en la nube, esto también funcionó perfectamente.

Mi problema surge después de desplegar el servlet. Una vez implementadas todas las solicitudes de base de datos devuelven lo siguiente:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not 
received any packets from the server.

Verifiqué dentro de la consola de la nube, y mi aplicación se agregó correctamente a las aplicaciones autorizadas de SQL App de la nube en la pestaña Control de acceso.

¿Alguien ha tenido problemas similares con los servlets de motores de aplicaciones desplegados? ¿Alguna solución o consejo por ahí? Apreciaría cualquier y toda ayuda !!!

ACTUALIZAR:

El error anterior se generó utilizando el siguiente código para acceder a la base de datos.

Class.forName("com.mysql.jdbc.Driver");
Url = "jdbc:mysql://<ip-address-cloudsql>:3306/<dbname>";
Connection con = DriverManager.getConnection (Url,"root",<password>);

el mismo error se logró utilizando este código, tenga en cuenta que es muy similar al código que se muestra en el ejemplo aquíhttps://developers.google.com/appengine/docs/java/cloud-sql/

Class.forName("com.mysql.jdbc.GoogleDriver");
Url = "jdbc:google:mysql://<appID:instanceID>/<dbname>? 
user=root&password=<password>";
Connection con = DriverManager.getConnection (Url);

Seguí los consejos de formato que se muestran en esta publicación de stackoverflow en lo que respecta a la configuración de la url mediante el uso de id de instancia e id .:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:

El uso de este código dio como resultado el siguiente error diferente:

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

Supongo que dice localhost porque mi base de datos de cloudsql está configurada para seguir el servlet del motor de aplicaciones. Además, tenga en cuenta que ambos métodos funcionaron bien al ejecutar el servlet localmente y al acceder a la base de datos de la nube sql.

¿Alguna idea? No sé qué más probar: [

Respuestas a la pregunta(5)

Su respuesta a la pregunta