我试图(单元)测试我的EJB类,而无需启动我的websphere环境。现在我正在使用Open EJB,但在解决EJB中使用的其他EJB的JNDI名称时存在一些问题......并且现在无法从我的测试中注入模拟类。使用Open EJB配置JNDI名称
获取InitialContext的
final Properties properties = new Properties();
properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory");
properties.setProperty("log4j.category.OpenEJB.options ", "debug");
properties.setProperty("log4j.category.OpenEJB.startup ", "debug");
properties.setProperty("log4j.category.OpenEJB.startup.config ", "debug");
properties.setProperty("MyOwnDatasource.JdbcDriver ", "com.ibm.as400.access.AS400JDBCDriver");
properties.setProperty("MyOwnDataSource.JdbcUrl ", "jdbc:as400:MYHOSTNAME;database name=MYDATABASE;libraries=MYDEFAULTTABLE");
ic = new InitialContext(properties);
里面我的课测试没有用于java:comp/env/ejb/PrefixEjbNameLocalHome
查找,我不能设置打开EJB生成该格式的JNDI名称。
为JNDI名称格式的附加属性
我尝试设置格式规则是这样的:
properties.setProperty("openejb.jndiname.format ", "comp/env/ejb/{interfaceClass}");
属性不被使用?
另外,不使用日志记录配置。我只能看见INFO和WARN从打开EJB的消息,虽然我设置log4j.category.OpenEJB.*
等以DEBUG或TRACE。
哇感谢。我一直在为此奋战一段时间。特别是要找到一个可以在使用openEjb进行测试并在Tomee上部署时查找的名称。 – AmanicA 2014-05-09 16:31:19