我的开发团队正在开发一个Web应用程序,并指派我研究如何使用可配置的数据源创建客户端WAR文件。
这是我们的第一个商业项目:
语言:Java / JavaScript(jQuery和AngularJS)/ HTML / CSS
数据库:MySQL
开发工具:IntelliJ
自动化系统:Gradle
Application Generator:JHipster
版本控制:SourceTree
目前,我们的客户已同意使用我们在安全USB中提供的可执行文件(目前为WAR文件)在自己的Amazon Web Server的MySQL数据库上部署应用程序。
到目前为止,WAR文件可以使用JHipster进行制作,并且在我们的内部服务器上没有任何问题。但是,我们在src / main / resources / config下的YML文件中对所有数据库连接(JDBC)内容进行了硬编码。
当然,我们的客户端有一个完全不同的架构,用户名和密码的数据库。除非那里的数据源规范与他匹配,否则我们即将给他的WAR文件无法执行。
由于无法从WAR中提取源代码,因此客户端不会从其末端修改数据源。与此同时,他并不想给我们提供数据源信息。
因此,我们要提出,引用一个可执行文件,允许他在第一次在AWS上执行时配置数据源。
有没有办法在不偏离当前部署方法(WAR文件)的情况下实现这一目标?
答案 0 :(得分:0)
这里没有JHipster特有的,它纯粹是一个Spring Boot问题。您可以在war文件外部提供application-prod.yml,也可以将其保留在内部,但使用占位符引用客户端服务器中定义的环境变量。
有关详细信息,请阅读Spring Boot doc https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html