![](/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.