Tag:

使用在同一容器中运行的多个应用程序在Spring Boot中外部化配置

我正在构建多个Spring Boot应用程序,这些应用程序将部署在同一个servlet容器中。 但是我很难让Spring Boot按照我想要的方式使用外部化配置文件,而不是像框架那样。 情况: 多个Spring Boot应用程序将部署在单个servlet容器(WAR文件)中 配置文件的位置将通过JVM属性spring.config.location 嵌入式部署不是一种选择 问题: 由于应用程序部署在同一JVM上,因此属性spring.config.location对于所有应用程序具有相同的值。 我希望我们的应用程序都使用相同的配置文件命名(application.properties),因此指定spring.config.name不是一个选项。 我想要的是什么: 无需设置spring.config.name因为配置名称应该在所有应用程序中标准化(常量) 外部化配置属性应覆盖在已部署的WAR中打包的application.properties中的值 配置文件特定配置(application- {profile})应该是可能的 代码中没有硬编码的配置位置 在每个应用程序目录布局中组织配置文件: $ {spring.config.location} /app1/application.properties $ {spring.config.location} /app2/application.properties $ {spring.config.location} /app3/application.properties 问题: 是否有某种机制来影响或覆盖外部配置文件的加载或解析? 是否有其他方法可以获得理想的结果?

JSP通常作为.jsp文件,预编译的Java文件或预编译的类文件提供吗?

在为生产环境准备WAR时,是否存在用于打包JSP的“标准”实践? 它们是否包含在“.jsp”文件中? 或者它们是作为预编译的Java文件还是预编译的类文件包含在内?

Tomcat创建WEB-INF / lib但不会爆炸war文件(GWT)

有没有人见过这样的事: 我正在使用一个脚本,它基本上使用ant取消部署应用程序,将新的war文件放在deploy目录中,然后再使用ant部署它。 问题是,在部署之后,webapps文件夹中存在的所有内容都是3个目录:myapp / WEB-INF / lib 除了那3个空目录外,没有其他文件。 目录的时间戳表明它们是在我运行脚本时创建的。 发生这种情况后,通过Tomcat管理器取消部署然后停止/启动Tomcat似乎正确地爆炸它,但我理想地希望使用该脚本进行自动化。 有人看过类似问题/知道可能出现什么问题吗? 自从之前发布以来,Undeploy / deploy脚本没有改变,所以我不这么认为。 除了一些代码更改之外,我实际项目中发生的主要变化是升级到新的GWT版本。 新的GWT版本将一些文件放在名为/ WEB-INF / deploy /的文件夹中,但我不认为这会导致它。 不要在日志中看到任何错误

为Maven构建的Web应用程序指定运行时配置参数

我是Maven的新手,我想知道是否有一种合理的方法在构建时为Web应用程序指定配置信息参数。 我的意思是以下内容。 使用Ant,我通常创建一个文件夹(例如config-params ),并在该文件夹中放置一些属性文件或任何其他必要文件,并为我的应用程序运行的环境设置正确的设置。 例如: – test.jdbc.properties – cert.jdbc.properties – prod.jdbc.properties – test.log4j.properties – test.myapplication.properties – test.web.xml … ad nauseum 然后,在我的ant构建脚本中,我只是从project.properties文件中读取一个配置文件配置变量,该文件只是指示我想要使用的文件集( test , cert或prod )。 这样,在为已知环境构建应用程序时,我不必担心检查每个可能的框架配置参数。 所以有两个问题: 这可能是以非hackish方式使用Maven POM实现的吗? 是否有一篇Maven文档,书籍或参考资料来处理应用程序构建的这个阶段? 有没有更合理的方法将我的应用程序构建配置文件定位到特定的执行环境(测试,产品等)? 我想这个人可能会更开放辩论,但如果有更简单,更优雅的方式来解决这个问题,我全都听见了:P。 我感谢你提供的任何帮助。 干杯!

在嵌入式Tomcat 7中部署WAR

我目前需要创建一个服务器才能运行多个unit testing。 为了简化这个过程,我想在运行unit testing(使用@BeforeClass表示法)之前将Tomcat嵌入到我的代码中并加载一个Tomcat实例(后者又加载我的WAR文件)。 我的问题是如何将WAR文件部署到嵌入式Tomcat中? 您可能会注意到我无法使用tomcat maven插件,因为我希望它能够与自动化测试一起运行。

Jetty – 如何在web.xml中以编程方式强制执行安全性约束

在我们的web.xml中,我们有以下安全约束 Everything on the app /* CONFIDENTIAL 除非我们需要以编程方式打开和关闭此约束,否则这很有效,因此基本上需要编写一个filter来执行类似的操作。 这可能在docker吗? 基本上我们需要能够在基于自定义配置系统打开或关闭它时进行更改。

我可以列出给定包中的资源吗?

假设我的类是从压缩的.war文件加载或加载到其他地方的,我怎样才能发现给定包中的所有资源? 枚举文件不会真正起作用,因为这是一个war文件。 这很可能涉及使用当前的类加载器? 那里有一个图书馆吗? 谷歌搜索显示只有一些黑客与列表文件。