如何强制 GlassFish 2 在启动时加载 EJB?
我们在 GlassFish v2 上使用 EJB3。
我的应用程序包括一个名为 StartupServlet 的 GenericServlet,它有一个 init 方法。从此方法启动的 java.util.TimerTask 轮询器无法从 InitialContext 查找外观。
但是,如果我发出 HTTP 请求并进行查找,它就会成功。因此,我现在有一个解决方法,我的轮询器启动代码与页面建立 HTTP 连接,该页面查找所需的接口。
我怎样才能重新安排我的应用程序,这样我就不需要使用这样的技巧了?如果可能的话,该解决方案也需要在 GFv3 上运行。
预先感谢您的帮助!
We're using EJB3 on GlassFish v2.
My application includes a GenericServlet called StartupServlet, which has an init method. java.util.TimerTask pollers started from this method cannot lookup facades from the InitialContext.
However if I make an HTTP request and do a lookup, it succeeds. Therefore I have a workaround now where my poller startup code makes an HTTP connection to a page which looks up the interfaces they need.
How can I rearrange my application so I don't need to use such a hack? If possible the solution needs to work on GFv3 as well.
Thanks in advance for your help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 GF 2 上,我有一个 servlet,它在启动时确保创建我的计时器。这会查找远程会话 bean 并从 init() 成功调用它(不是实际代码,精简为重要部分):
On GF 2, I have a servlet that on start ensures that my timer is created. This looks up a remote session bean and calls it successfully from the init() (not actual code, distilled down to the important parts):