테스트를 위해 ejb3unit http://ejb3unit.sourceforge.net/Session-Bean.html을 사용하여 ejb3 프로젝트에서 테스트를 수행하고 있습니다. @PersistenceContext (UnitName = bla)를 오랫동안 사용하는 모든 서비스. 다음과 같이 ejb3unit.properties를 설정합니다.EJB3Unit 테스트 no-tx-datasource
ejb3unit_jndi.1.isSessionBean=true
ejb3unit_jndi.1.jndiName=ejb/MyServiceBean
ejb3unit_jndi.1.className=com.company.project.MyServiceBean
모든 것이 메모리 내장 데이터베이스에서 작동합니다.
<datasources>
<local-tx-datasource>
...
</local-tx-datasource>
<no-tx-datasource>
<jndi-name>noTxDatasource</jndi-name>
<connection-url>...</connection-url>
<driver-class>oracle.jdbc.OracleDriver</driver-class>
<user-name>bla</user-name>
<password>bla</password>
</no-tx-datasource>
</datasources>
가 어떻게이를 만들기 위해 ejb3unit을 알 수 있습니까 :
그래서 지금은 추가로 내있는 DataSources.xml에 정의 된 간다 @PersistenceContext (UnitName = noTxDatasource)와 다른 servicebean을 테스트하려면 작업 : javax.NamingException가 : JNDI 트리 현재 바인딩의 이름 (noTxDataSource를) 찾을 수 없습니다 : (EJB/MyServic
Object object = InitialContext.doLookup("java:/noTxDatasource");
if (object instanceof DataSource) {
return ((DataSource) object).getConnection();
} else {
return null;
}
현재이 말하는 실패 eBean = com.company.project.MyServiceBean)
이 no-tx-datasource를 jndi 바인딩에 어떻게 추가 할 수 있습니까? 이에 (
Object object = InitialContext.doLookup("java:/noTxDatasource");
데이터 소스를 제공 :