当我运行硒测试时,我已经有了集成测试阶段。我也想在这个阶段运行一些单元测试,因为应用程序太复杂了,他的模块之间有很多依赖关系(地狱),所以,在与OpenEJB和Arquillian打了一个星期之后,我相信这将是更容易。
问题是:我如何使其发挥作用?
我已经运行了实例,如果我实例化一个InitialContext并尝试查找某个bean,我得到一个例外,告诉我我没有设置java.naming.initial.factory
,我不知道该放什么那里。
我也在抱怨带注释的豆子。
假设这样的Bean:
@Stateless
public class ABeanImpl implements ABean {
@EJB
private BBean;
}
容器会自动转到BBean
吗?
提前致谢
答案 0 :(得分:1)
如何连接到JBoss 7.1远程JNDI:
以下是我用于JBoss 7.1的代码片段:
Properties props = new Properties();
String JBOSS_CONTEXT = "org.jboss.naming.remote.client.InitialContextFactory";
props.put("jboss.naming.client.ejb.context", true);
props.put(Context.INITIAL_CONTEXT_FACTORY, JBOSS_CONTEXT);
props.put(Context.PROVIDER_URL, "remote://localhost:4447");
props.put(Context.SECURITY_PRINCIPAL, "jboss");
props.put(Context.SECURITY_CREDENTIALS, "jboss123");
InitialContext ctx = new InitialContext(props);
解决模棱两可的ejb引用:
根据JBoss EJB 3 reference,如果EJB环境的任何级别(EJB / EAR / Server)在使用的接口中都是重复的,则在注入bean的解析期间将抛出异常。
基于上面的内容,如果你有一个EJB bean的引用接口: