java - 在EnvironmentPostProcessor中获取ServletContext

标签 java spring-boot wildfly

我试图在实现EnvironmentPostProcessor 的类中获取ServletContext。需要 ServletContext 来获取 war 文件名。根据 war 文件名,我从数据库获取属性,并稍后在应用程序中将属性设置为用户。

我没有使用嵌入式容器,而是使用 WildFly Server

public class ClEnvironment implements EnvironmentPostProcessor, ServletContextAware, ServletContextInitializer

但是它不起作用。

最佳答案

您无法在 EnvironmentPostProcessor 中获取 ServletContext。后处理器是在应用程序生命周期的早期从 spring.factories 加载的。对于嵌入式 servlet 容器,该容器在容器启动且 ServletContext 可用之前很久就发生了。

这可能是 XY problem 。也许你可以问另一个问题来解释你想要做什么。可能还有另一种方法可以做到这一点,不需要访问环境后处理器中的 ServletContext

关于java - 在EnvironmentPostProcessor中获取ServletContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59341905/

相关文章:

java - 如何使客户端/服务器回合制java游戏可以在两台不同的计算机上玩

java - 面临从基于 Spring Boot 的 Java 应用程序读取 Amazon SQS 队列的问题

java - org.hibernate.hql.internal.ast.QuerySyntaxException : unexpected token: FETCH

spring-boot - 如何使用 spring-messaging-5.1.* 连接 stomp+ssl broker?

java - 如何在 wildfly 10 中配置数据源?

java - 哪种优化方式?

javascript - AngularJS Restful web 服务 : it doesn't take attributes from a json text

java - 如何通过保留键的数据类型将json序列化为另一个json?

curl - 通过 HTTP API 替换 Wildfly 上的部署

jboss - Wildfly 14 域 - 连接超时