我想在运行时调用 ejb3。ejb 的名称和方法名称仅在运行时可用,因此我不能在编译时包含任何远程接口。
String bean = 'some/Bean';
String meth = 'doStuff';
//lookup the bean
Object remoteInterface = (Object) new InitialContext().lookup(bean);
//search the method ..
// foreach (methods)
// if method == meth, method.invoke(bean);
bean 应该分布在多个应用程序服务器上,并且所有 bean 都将被远程调用。
有什么提示吗?具体来说,我不想要:
- 依赖注入
- 在调度程序中包含特定于应用程序的 ejb 接口(上图)
- webservices,这就像白白丢掉处理能力,所有的xml废话
是否可以通过网络加载 ejb3 远程接口(如果是,如何?),所以我可以将接口缓存在一些哈希映射或其他东西中。
我有一个带有远程调度程序 bean 的解决方案,我可以将它包含在上面的主调度程序中,它的作用基本相同,但只是将调用中继到本地 ejb(我可以如何查找?命名查找失败)。给定远程调度程序 bean,我可以使用依赖注入。
谢谢你的帮助
(网豆和玻璃鱼顺便说一句)