我正在将一个非常基本的Web应用程序部署到Google App Engine。我使用的是Springboot,可以在本地运行该应用程序,但是当我部署到Google时,App Engine不会启动该实例。我在启动时配置了Cloud SQL数据源。
我在src / main / resources / application.properties中配置了cloud sql配置属性。 App Engine似乎找不到这些属性,因此无法正确设置Cloud sql数据源。
有人遇到过这个问题吗?似乎很基本。我希望第二双眼睛和大脑可以发光。谢谢!
编辑:
感谢您的回复。这是属性文件的片段:
#################### DATABASE SETTINGS
#POSTGRES connection parameters
application.postgres.driver-name=org.postgresql.Driver
application.postgres.url=jdbc:postgresql://<url>:5432/<db>
application.postgres.max-pool-size=5
application.postgres.min-pool-size=1
application.postgres.connection-wait-time-seconds=60
application.postgres.schema=dev
application.postgres.preparedstatement-cache-queries-size=256
application.postgres.preparedstatement-cache-size=500
application.postgres.preparedstatement-cache-sql-limit=5
application.postgres.preparedthreshold=5
application.postgres.ssl.enabled=true
#################### GOOGLE CLOUD SETTINGS
application.google.project.id=<our project>
application.google.project.region=us-central1
application.google.project.cloud.sql.instance.name=<cloud sql instance>
application.google.project.cloud.sql.instance=${application.google.project.id}:${application.google.project.region}:${application.google.project.cloud.sql.instance.name}
我将此文件放在src / main / resources中(照常)。
我尝试在弹性和标准环境中运行。我想确保其中一个不会引起问题。
对于标准环境,我的appengine-web.xml看起来像这样:
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>my app name</application>
<service>my service name</service>
<version>1</version>
<threadsafe>true</threadsafe>
<runtime>java8</runtime>
</appengine-web-app>
这是我在flex环境下使用的yaml文件(没什么花哨的东西。很简单。)
runtime: java
env: flex
service: my service name
handlers:
- url: /.*
script: this field is required, but ignored
我会发布堆栈跟踪,但是它们并不是很有帮助。基本上这只是我无法加载云sql数据源的错误(即:因为它没有选择属性)。如果我在初始化数据源的Config类中对值进行硬编码,则它可以工作,因此我可以肯定地说出它只是不想获取application.properties。
我的应用设置是典型的:
src/main/java
src/main/resources
src/main/webapp
*src/main/appengine (yaml location for flex env)
注意:我正在尝试在我的maven deploy命令中传递postgres(即cloud sql)用户名和密码:
mvn软件包-DskipTests appengine:deploy -Dapp.deploy.projectId = myproject -Dapp.deploy.version = 1 -Dapplication.postgres.username = -Dapplication.postgres.password =
答案 0 :(得分:0)
我遇到了类似的问题。只需在app.yml中添加以下内容 资源: CPU:2 memory_gb:3 disk_size_gb:10 数量: -volume_type:tmpfs size_gb:2 名称:ramdisk1