Код: Выделить всё
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.figjaminc
XXXXX
1.0
war
XXXX
${project.build.directory}/endorsed
UTF-8
com.google.cloud
libraries-bom
26.30.0
pom
import
org.eclipse.persistence
org.eclipse.persistence.core
4.0.0
org.eclipse.persistence
eclipselink
4.0.0
org.eclipse.persistence
org.eclipse.persistence.jpa
4.0.0
org.eclipse.persistence
org.eclipse.persistence.json
4.0.0
com.fasterxml.jackson.core
jackson-core
2.16.1
com.fasterxml.jackson.core
jackson-databind
2.16.1
com.google.appengine
appengine-api-1.0-sdk
2.0.12
jar
org.apache.poi
poi
3.17
jar
com.sendgrid
java-http-client
4.3.6
jar
jakarta.platform
jakarta.jakartaee-api
10.0.0
org.glassfish.jersey.containers
jersey-container-servlet
3.1.5
org.glassfish.jersey.media
jersey-media-json-jackson
3.1.5
org.glassfish.jersey.inject
jersey-hk2
3.1.5
com.mysql
mysql-connector-j
8.3.0
org.json
json
20231013
com.google.code.gson
gson
2.8.5
com.google.cloud
google-cloud-core
com.sendgrid
sendgrid-java
4.7.2
jar
com.google.cloud
google-cloud-storage
com.google.cloud
google-cloud-tasks
org.apache.commons
commons-csv
1.9.0
com.google.cloud.sql
mysql-socket-factory-connector-j-8
1.17.0
org.projectlombok
lombok
1.18.30
javax.servlet
jstl
1.2
com.google.cloud.tools
appengine-maven-plugin
2.2.0
false
XXXXX
9
org.apache.maven.plugins
maven-compiler-plugin
3.8.1
17
17
${endorsed.dir}
org.apache.maven.plugins
maven-war-plugin
3.3.2
false
Код: Выделить всё
java21
true
true
true
F2
Код: Выделить всё
package com.figjaminc.startup;
import com.google.cloud.ServiceOptions;
import jakarta.persistence.Persistence;
import jakarta.servlet.ServletContextEvent;
import jakarta.servlet.ServletContextListener;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Logger;
public class WebAppStartStop implements ServletContextListener {
private static final String class_name = "WebAppStartStop";
private static final Logger LOGGER = Logger.getLogger(WebAppStartStop.class.getName());
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
String startupReport = "";
startupReport += initializeEntityManager();
LOGGER.info("WebAppStartStop startup_report:" + startupReport);
}
private String initializeEntityManager() {
String projectId = ServiceOptions.getDefaultProjectId();
Map persistenceMap = new HashMap();
//set sandbox credentials
if (projectId.equals("xxx-sandbox")) {
persistenceMap.put("jakarta.persistence.jdbc.url", "jdbc:mysql://google/xxxdb?cloudSqlInstance=xxx:us-central1:xxxdb3&socketFactory=com.google.cloud.sql.mysql.SocketFactory&useSSL=false");
persistenceMap.put("jakarta.persistence.jdbc.user", "xxxuser");
persistenceMap.put("jakarta.persistence.jdbc.driver", "com.mysql.cj.jdbc.Driver");
}//if
else if (projectId.equals("xxx")) {//set live credentials
persistenceMap.put("jakarta.persistence.jdbc.url", "jdbc:mysql://google/xxxlivedb?cloudSqlInstance=xxx:us-central1:xxxdblive&socketFactory=com.google.cloud.sql.mysql.SocketFactory&useSSL=false");//changed for new demo
persistenceMap.put("jakarta.persistence.jdbc.user", "xxxliveuser");
persistenceMap.put("jakarta.persistence.jdbc.driver", "com.mysql.jdbc.Driver");
}//else
else {
persistenceMap.put("jakarta.persistence.jdbc.url", "jdbc:mysql://localhost:3306/xxxdb?zeroDateTimeBehavior=CONVERT_TO_NULL");
persistenceMap.put("jakarta.persistence.jdbc.user", System.getenv("db_username"));
persistenceMap.put("jakarta.persistence.jdbc.password", System.getenv("db_password"));
persistenceMap.put("jakarta.persistence.jdbc.driver", "com.mysql.cj.jdbc.Driver");
}//else
CommonDbMethods.factory = Persistence.createEntityManagerFactory("com.xxx_xxx_war_1.0PU", persistenceMap);
return "Entity Manager initialized";
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
LOGGER.info("Shutting Down");
}
}
[*]При текущей конфигурации, которую я настроил, приложение не подключается к базе данных.
Подробнее здесь: https://stackoverflow.com/questions/781 ... 21-runtime
Мобильная версия