Я создал веб-приложение на Java с помощью Google Web Toolkit (GWT).На стороне клиента GWT генерирует поле ввода и (используя API поиска GWT) выполняет поиск в Интернете.Я хотел бы поместить некоторую информацию из веб-поиска в базу данных MySQL, чтобы ее можно было проанализировать с помощью приложения машинного обучения (Weka).У меня запущен RPC, который взаимодействует с кодом на стороне сервера.В этом коде на стороне сервера я попытался установить соединение с базой данных MySQL.
В настоящее время я работаю над проектом локально, поэтому, насколько я могу судить, движок приложения Google размещает его.Это подтверждается тем фактом, что при запуске приложения появляется следующее сообщение:
Initializing AppEngine server
Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger
The server is running at http://localhost:8888/
Однако, хотя я могу использовать поисковую часть приложения, оно выдает исключение при попыткесвязаться с моей базой данных MySql.
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
Caused by: java.security.AccessControlException: access denied (java.net.SocketPermission mysql.database.location resolve)
Я протестировал соединение с базой данных из обычной (не веб-ориентированной) Java-программы, и нет проблем с подключением к ней извне веб-приложения.Я считаю, что я получаю эту ошибку, потому что Google App Engine не разрешает подключения к внешним базам данных.
Короче говоря, мои вопросы:
1. Хотя я использую Google App Engine, возможно ли использовать код на стороне сервера для подключения к MySQL?(Я предполагаю, что нет, но это было бы идеально).
2. Можно ли переключиться на другой сервер (например, Tomcat)?Если так, может кто-нибудь указать мне ссылки о том, как это сделать?Я нашел старый вопрос stackoverflow о том, как использовать tomcat (/1481499/prilozhenie-gwt-razvertyvanie-na-tomcat-ili-lybom-drugom-konteinere-servletov), но он больше не направляет в место, где есть информация об использовании других серверов.
Спасибо за вашу помощь и, пожалуйста, не стесняйтесь задавать дополнительные вопросыесли вы хотите, чтобы я предоставил дополнительную информацию.