![](/img/trans.png)
[英]EJB Jndi look up in Glassfish server only in Java Web start
[英]Listen for changes in JNDI on Glassfish – how to look up EventContext?
我的EJB應用程序從JNDI查找一些配置值。 我希望能夠更改這些值並使應用程序立即注意到,而不必重新啟動服務器或執行任何其他操作來觸發它重新配置自己。
我的理解是,我應該實現javax.naming.event.ObjectChangeListener
,從JNDI查找EventContext
或EventDirContext
,然后調用其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.