我已将我的应用程序从 Glassfish 2.2.1 迁移到 JBoss AS 6。
以前我有一个用于查找 ejbs 的通用类,下面是代码:
public class BeanUtil {
private static InitialContext ctx;
public static <T> T create(Class<T> type){
try {
ctx = new InitialContext();
return (T)ctx.lookup(type.getName());
} catch (NamingException e) {
e.printStackTrace();
}
return null;
}
}
上面的类适用于 glassfish 中的查找。但是在将代码迁移到 JBoss AS 6 之后。我总是得到 javax.naming.NameNotFoundException
下面是我的 ejb 课程之一。
@Remote
public interface OperationPerformed {
public void addRandomNo(String randomNos);
}
@Stateless
@Remote(OperationPerformed.class)
public class OperationPerformedImpl implements OperationPerformed {
public void addRandomNo(String randomNos) {
}
}
如果我给出 jboss 在部署我的应用程序期间创建的完整 jndi 名称,那么我可以轻松查找相同的名称。但我想要用于查找的通用代码。
下面是我为查找 bean 调用的代码:
OperationPerformed operationPerformed = BeanUtil.create(OperationPerformed.class);
请建议我是否做错了什么。