簡體   English   中英

在Glassfish上偵聽JNDI的更改–如何查找EventContext?

[英]Listen for changes in JNDI on Glassfish – how to look up EventContext?

我的EJB應用程序從JNDI查找一些配置值。 我希望能夠更改這些值並使應用程序立即注意到,而不必重新啟動服務器或執行任何其他操作來觸發它重新配置自己。

我的理解是,我應該實現javax.naming.event.ObjectChangeListener ,從JNDI查找EventContextEventDirContext ,然后調用其addNamingListener方法注冊我的ObjectChangeListener

為了查找EventContext或EventDirContext,我已經嘗試過了,在線上的無數示例建議我:

InitialContext ctx = new InitialContext();
EventContext eventContext = (EventContext) ctx.lookup("");

但是,這給了我ClassCastException

java.lang.ClassCastException: com.sun.enterprise.naming.impl.SerialContext cannot be cast to javax.naming.event.EventContext

當我嘗試將其EventDirContext轉換為EventDirContext時,也會收到同樣的錯誤。

我試着查找我使用的確切JNDI名稱,而不是“ java:”,“ java:comp”和“ java:comp / env”。 所有這些返回的對象無法轉換為我需要的任何事件上下文。

我使用的JNDI實現只是普通的Glassfish 3.1.1。

是否可以收聽JNDI事件,或者我應該完全考慮使用其他方法? 感謝任何建議。

GlassFish 3.1.2不支持JNDI事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM