我使用Boot创建了一个spring项目。该项目在当地运行良好。这是一个连接到mysql数据库的简单webapp。配置路径为:
的src /主/资源/ application.properties
使用以下参数:
spring.datasource.url = xxx
spring.datasource.username = xxx
spring.datasource.password = xxx
现在,我已经在AWS中部署了应用程序而没有任何问题。我已经配置了数据库,但是当应用程序尝试启动时,我收到此错误:
成功发送到服务器的最后一个数据包是0毫秒前。驱动程序未收到来自服务器的任何数据包。
我猜这是使用我在war文件中打包的本地配置文件。现在,我如何在AWS中更改这些值?我是否需要在该服务器中使用正确的 application.properties 打包战争?
谢谢!
答案 0 :(得分:1)
请阅读:
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
有几种方法可以在JAR资源之外设置配置,选择适合您的配置。
答案 1 :(得分:1)
根据个人经验,处理此问题的最佳方法是为每个环境创建属性文件。即:
application-dev.properties
application-prod.properties
application-test.properties
然后在构建之前只需将application.properties文件中的spring.profiles.active切换为dev,prod或test。
如果您的配置正常后仍然出现此错误,我的建议是检查部署服务器的IP地址是否应在生产数据库实例上获得授权才能连接。
答案 2 :(得分:0)
根据我的经验,我们可以使用spring cloud配置服务器以及git / svn等存储库上的托管属性,并根据您运行应用程序的活动配置文件动态提取它们