2
我有一個供內部使用的軟件包,當添加到項目中時,需要向我們的QA應用程序發送一個通知,告知它是活動的,並且在可用的端點上。爲此,我需要獲取項目的上下文根。在項目部署之後獲取Web應用上下文信息而不點擊Web端點
我首先嚐試什麼問題 是以下幾點:
@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進行部署。