Websphere 환경을 시작하지 않고도 EJB 클래스를 테스트 (단위 테스트)하려고합니다. 이제 Open EJB을 사용하고 있지만 EJB 내에서 사용되는 다른 EJB의 JNDI 이름을 확인하는 데 몇 가지 문제가 있습니다 ... 지금 테스트에서 조롱 된 클래스를 삽입 할 방법이 없습니다. 이 java:comp/env/ejb/PrefixEjbNameLocalHome
에 대한 조회가 내가 그 형식의 JNDI 이름을 생성 열기 EJB를 설정할 수 없습니다 테스트중인 InitialContext를 내 수업 내부Open EJB로 JNDI 이름 구성
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);
얻기
.
내가 이런 형식의 규칙을 설정하려고 JNDI 이름 형식에 대한 추가 속성 :
properties.setProperty("openejb.jndiname.format ", "comp/env/ejb/{interfaceClass}");
속성을 사용하지 않습니다를?
로깅 구성도 사용되지 않습니다. 내가 log4j.category.OpenEJB.*
을 설정하고 DEBUG 또는 TRACE에 등이 있지만 난 단지, 및 열기 EJB에서 메시지를 WARN 정보를보고 있어요.
와우 덕분에 예를 들어,이 로그 메시지 그래서. 나는 얼마 동안 이걸 가지고 싸웠다. 특히 openEjb로 테스트하고 Tomee에 배포 할 때 모두 조회 할 수있는 이름을 찾으십시오. – AmanicA