首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用Java封装与环境相关的遗留应用程序写

如何用Java封装与环境相关的遗留应用程序写
EN

Stack Overflow用户
提问于 2022-03-08 12:10:27
回答 1查看 52关注 0票数 0

我们有一个用Java编写的遗留应用程序,它使用ApacheStruts1.x和Spring2.x编写,我们希望对它们进行容器化。

我们遇到的问题是这个项目的配置方式。它是通过Maven属性和配置文件(每个环境一个)完成的,这些属性和配置文件被转换为属性文件。这些属性在编译时放置在WAR中。

在不修改项目代码的情况下,创建此应用程序映像的正确方法是什么?也就是说,配置在某种程度上是外部化的,例如,在环境变量中。也许应该在一卷书里?

到目前为止,我们已经实现了一个两阶段的Dockerfile,它首先使用特定的配置文件编译Maven,然后从Tomcat映像复制第二阶段的WAR。但是这样做,生成的码头形象并不是独立于环境的,这正是我们想要实现的。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-03-08 12:24:33

Spring为外部配置(名称-值对或等效的YAML内容)提供了基于HTTP资源的API。通过使用@EnableConfigServer注释,服务器可以嵌入到Spring应用程序中。

因此,将在一个容器上部署Spring服务器,该容器包含所有环境配置- https://cloud.spring.io/spring-cloud-config/multi/multi__spring_cloud_config_server.html

一旦部署完毕,您就可以使用一个bootstrap.yml文件轻松地将您的应用程序停靠器映像部署到不同的环境中,该文件基于配置文件(dev/uat/ image /prod)接受云-config服务器。

代码语言:javascript
复制
###
server:
  port: 9092
spring:
  application:
    name: application-name
  cloud:
    config:
      urI: REPLACE_CLOUD_CONFIG_URI (https://<spring_cloud_config_url>:8888/)
  profiles:
    active: REPLACE_PROFILE (dev/uat/staging/prod)
  management:
    endpoints:
      web:
        exposure:
          include: refresh
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71394825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档