【发布时间】:2010-02-01 16:49:45
【问题描述】:
我正在尝试从 GWT 开发模式中执行 JNDI 查找。
我有一个本地 glassfishv3 运行我想要查找的 EJB。如果我将 GWT-Webapp 部署到所述 glassfish 中,一切都会按预期工作。但是如果我尝试从 devmode 中查找 EJB,我会得到这个异常:
javax.naming.NamingException: Lookup failed for 'myBean' in SerialContext [Root exception is javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext [Root exception is java.lang.NullPointerException]] ... Caused by: javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext [Root exception is java.lang.NullPointerException]
at com.sun.enterprise.naming.impl.SerialContext.getProvider (SerialContext.java:276)
at com.sun.enterprise.naming.impl.SerialContext.lookup (SerialContext.java:430)
... 22 more Caused by: java.lang.NullPointerException
at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider (SerialContext.java:297)
at com.sun.enterprise.naming.impl.SerialContext.getProvider (SerialContext.java:271)
... 23 more
嵌入的码头似乎在类路径中找不到类“SerialContextProvider”。
我尝试将 gf-client.jar 和 glassfish-naming.jar 添加到类路径(除了将 glassfish v3 添加到 eclipse 中的目标运行时),但无济于事。
我什至整理了一个小样本(可在此处找到:http://satansoft.de/jnditest/jnditest.tgz),其中包含一个简单的 EJB 项目以及一个执行查找的 GWT 项目。 该存档还包含一个小型 CLI 客户端,当在类路径中使用 gf-client.jar 运行时,该客户端运行良好。
我也在官方 gwt 邮件列表上问过这个问题,但那里没有人能帮助我。
那么:是否有人能够从 GWT 开发模式到 glassfish v3 中执行 JNDI 查找?
【问题讨论】:
-
此文档可能有用:docs.sun.com/app/docs/doc/820-7695/beanv?l=en&a=view。 Jetty 服务器似乎需要进行相当多的配置才能访问远程 GF 上的 bean。最可能的问题是您跳过了一个,或者配置了 GWT 应用程序,而不是服务器。
标签: java gwt glassfish ejb-3.0 jndi