在运行时获取托管 bean/对象的实例

问题描述

通常当我想获取我使用的类的托管实例时

@EJB MyEJB myEJB; // for ejb classes
@Inject MyClass myClass; // for non-ejb classes

现在我需要动态获取托管类的实例,因此基于从数据库调用读取的类名。 (然后我将使用它对其方法之一进行反射调用。)
我希望获取实例的代码类似于:

@Resource SessionContext sessionContext;
// other code
private Object getManagedInstance(String className) {
  return sessionContext.getBusinessObject(Class.forName(className));
}

然而,这不起作用,因为它期望当前类实现 Class.forName(className) 引用的接口。所以我猜它只是为了获取当前类的包装器。

如何在运行时动态获取任何类的托管实例?

(weblogic版本是wl12.1a,希望和weblogic12c足够接近)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)