2013-08-21 2 views
2

RAD + Webshere-8.5.1을 사용하여 EJB 어플리케이션을 실행 중입니다. 내가 enter image description here리소스에 대한 JNDI 검색이 실패했습니다.

에 따라 내가

@Resource (이름으로 내 무국적 EJB에 액세스하려고 이대로가 IBM 콘솔 응용 프로그램에서 더미 메일 세션을 구성 그것을 위해, 내 EJB에서 이메일 보내기 기능을 추가해야 = "mail/sandMailSession")
개인 세션 sandMailSession;

그러나 NameNotFoundException으로 실패했습니다.

다른 설정을 바인딩해야합니까?

답변

3

'mail/sandMailSession'은 전역 이름 공간에 정의 된 이름입니다. 당신은 META-INF 디렉토리 내에 ibm-ejb-jar-bnd.xml 파일을 사용하여 로컬 구성 요소의 네임 스페이스에 메일 세션을 결합해야합니다

<ejb-jar-bnd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://websphere.ibm.com/xml/ns/javaee" 
    xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ejb-jar-bnd_1_0.xsd" version="1.0"> 
    <session name="NAME_OF_EJB"> 
    <resource-ref name="mail/sandMailSession" binding-name="mail/sandMailSession"/> 
    </session> 
</ejb-jar-bnd> 

namebinding-name있는 별도의 속성을 기록하고 귀하의 경우는 같은 있지만, 서로 다른 값을 가질 수 있습니다하십시오. binding-name은 전역 이름 공간의 자원 이름입니다.