如何通过Class <! - ? - >获取EJB的InitialContext.lookup实例

时间:2015-08-02 17:42:29

标签: java java-ee ejb-3.0

我正在尝试使用它的类类型创建EJB类。我的函数将此类类型作为参数获取。这个类有它自己的依赖项,我也希望创建这些依赖项。

addToUploadQueue(Class<? extends ICallback> callbackClazz)

如何创建此类的ejb实例?

编辑:我正在ManagedExecutorService线程上将视频上传到youtube。这是一个通用模块。我想让它在每个项目上运行。 Http请求调用我的函数,我创建另一个线程并立即返回。上传完成后,我需要通知此回调函数更新db上的那些视频的状态(或做任何他们想做的事情)。

2 个答案:

答案 0 :(得分:1)

鉴于您提供的额外信息,看起来有点像您正在尝试重新发明Observer Pattern

幸运的是,Java EE 6和更新版本为我们提供了一个CDI框架,可以为我们实现这一点。

Adam Bien在JAVA EE 6 OBSERVER PATTERN / EVENTS WITH CDI (JSR-299/JSR-330) AND EJB 3.1展示了一个例子。

答案 1 :(得分:0)

你必须使用查找方法获得一个ejb实例,你可以做类似的事情

addToUploadQueue(Class<? extends ICallback> callbackClazz) {
  InitialContext ic = new InitialContext();
  MyEjb myEjb = (MyEjb)ic.lookup("java:comp/env/ejb/" + callbackClazz.getName());
}