Я должен делать что-то очень глупое, но был бы признателен за помощь в этом.
Я пытаюсь использовать codebase для проверки подключения экземпляра Google Cloud SQL с помощью приложения GAE. Я смог успешно запустить его на локальном компьютере, но, похоже, он успешно развертывается и в AppEngine, но когда я пытаюсь получить доступ к myproject.appspot.com, я получаю 404. Ниже приведены шаги, которые я выполнил (пропуская успешное местные связанные шаги)
1. Создан проект myproject
2. Созданный экземпляр Google Cloud SQL второго поколение, myproject-db
2. Создано root
пользователя с паролем.
3. Используется строку соединения, как указано в Google Cloud Console "jdbc:google:mysql://myproject:us-central1:myproject-db/demo?user=root&password=PASSWORD;"
4. Appengine-web.xml выглядит, как показано нижеНевозможно запустить в GAE
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>myproject</application>
<version>1</version>
<threadsafe>true</threadsafe>
<use-google-connector-j>true</use-google-connector-j>
<system-properties>
<property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
<property name="cloudsql.url" value="jdbc:google:mysql://myproject:us-central1:myproject-db/demo?user=root&password=PASSWORD;"/>
<property name="cloudsql.url.dev" value="jdbc:mysql://localhost/demo?user=root&useSSL=false"/>
</system-properties>
</appengine-web-app><br>
5. Следующий фрагмент кода встроен в HibernateJPAServlet
if (System.getProperty("com.google.appengine.runtime.version")
.startsWith("Google App Engine/")) {
Class.forName("com.mysql.jdbc.GoogleDriver");
properties.put("javax.persistence.jdbc.driver",
"com.mysql.jdbc.GoogleDriver");
properties.put("javax.persistence.jdbc.url",
System.getProperty("cloudsql.url"));
} <br>
6. Я загрузил код из своего локального в мой репозиторий myproject
https://source.developers.google.com/p/myproject/r/default
7. Я запустил консоль Google Cloud Platform из представления «Разработка».
8. Успешно побежал mvn clean package
и mvn appengine:update
. Я не могу выполнить appengine:update
из моего локального из-за ограничений брандмауэра/прокси.
9. Итак, на мой взгляд, я понимаю, что я запускаю приложение GAE и экземпляр GAE Cloud SQL для того же проекта. Так http://myproject.appspot.com/
следует разместить приложение I закачанный Шаг 8. Но когда я к нему доступ говорит "404" - "The requested URL/was not found on this server."
Только в случае, если проблема мы не можем развернуть его от Cloud Console, то, что другой альтернативы у меня есть? Я абсолютно не могу изменить правила сети/прокси.
EDITED - Я попытался запустить и развернуть приложение с mvn gcloud:run
и mvn gcloud:deploy
из-за ограничений прокси-сервера/брандмауэра. В конце это четко указано "Deployed URL: [https://myproject.appspot.com]"
. Но та же проблема остается, когда я получаю доступ к тому же Url через браузер.
EDITED - Я могу видеть след ошибки с панели инструментов App Engine. Это говорит
" org.hibernate.exception.JDBCConnectionException: Could not open connection
Caused by: org.hibernate.exception.JDBCConnectionException: Could not open connection
Caused by: 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.
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
"
Моя строка соединения "JDBC: Google: MySQL: // MyProject: нам-central1: MyProject-дб/демо пользователь = корень & пароль = PassWd123 &"
Где вы видите эту ошибку на 404? В журнале? В вашем браузере?Кроме того, на шаге 8 вы говорите, что успешно выполнили 'mvn appengine: update', но тогда вы говорите, что не можете выполнить команду appengine: update'. Что он? Выполняется или не выполняется эта команда? –
Привет, Эрик, я не могу сделать mvn appengine: обновление из моего локального ... Однако я могу сделать то же самое из Google Cloud Console, но после завершения развертывания, когда я пытаюсь получить доступ к myproject.appspot.com через браузер , Я вижу ошибку 404. – Divs