Google App Engine忽略了Springboot应用程序属性

时间:2019-07-11 17:30:59

标签: spring-boot google-app-engine properties

我正在将一个非常基本的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 =

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题。只需在app.yml中添加以下内容 资源: CPU:2 memory_gb:3 disk_size_gb:10 数量: -volume_type:tmpfs size_gb:2 名称:ramdisk1