Servlets 在项目部署后获取web应用程序上下文信息而不触及web端点

Servlets 在项目部署后获取web应用程序上下文信息而不触及web端点,servlets,initialization,jax-rs,contextpath,Servlets,Initialization,Jax Rs,Contextpath,我有一个内部使用的包,当添加到项目中时,需要向我们的QA应用程序发送一个通知,告知它是活动的,并且在哪个端点可用。为此,我需要获取项目的上下文根 问题 我首先尝试的是: @Path("/myEndpoint") public class MyAPI { @Context ServletContext context @Get public MyObject getMyObject() { ... context.getContextPath(); // store path

我有一个内部使用的包,当添加到项目中时,需要向我们的QA应用程序发送一个通知,告知它是活动的,并且在哪个端点可用。为此,我需要获取项目的上下文根

问题 我首先尝试的是:

@Path("/myEndpoint")
public class MyAPI {

@Context
ServletContext context

@Get
public MyObject getMyObject() {
    ...
    context.getContextPath(); // store path in MyObject
    return myObjectInstance;
}
问题是,需要有人首先点击端点才能获得路径信息。我想要在部署项目时运行的东西。我的下一次尝试是将
@Singleton
@PostConstruct
一起使用,但我认为让我的API类运行那种代码不是最佳做法(而且ServletContext是空的,所以即使我选择将代码保留在…,它也无法工作)

我试过一两件别的东西,但都没用。该部门的一个建议是制作一个Maven插件,用这种信息ping QA服务器,但为了简单起见,我希望找到一个Java解决方案。是否有其他方法可以访问上下文根并在项目部署后自动激发方法


我在Maven中使用Java8,我们的应用程序是使用Glassfish部署的。

好吧,基于这里没有响应,在内部讨论之后,我们将编写一个Maven插件来处理我的服务所需的上下文和其他信息