인터넷 뱅킹 시스템augcb 신용카드 신청 jb의 응용

3973 단어 ejb
여기au에서 신용카드를 신청하는 기능입니다. 여기서ejb 원격 방법으로 호출합니다.
우선 프로필의 정의에 따라
인용하다

          
          
          
          
          

          
다음은 클라이언트가 바로 우리의 앞부분의 실현이다.
public class EjbServiceLocator{
//  GatewayHome,  EJBHome  , JFP GatewayHome。
private Object getHomeObject(Properties prp) throws NamingException, ClassNotFoundException {
    Context ctx = new InitialContext(prp);//prp  ,JNDI ,JNDI 。
    String strJndiName = prp.getProperty("JNDI");// EJB 。
    Object obj  = ctx.lookup(strJndiName);   // 。
    Object ejbHomeObject = PortableRemoteObject.narrow(obj, Class.forName(prp.getProperty("Home")));// EJBHome 。
    return ejbHomeObject;
}

//EJBHome의 구현 대상이 생기면create를 호출하여 EJB 원격 세션 bean을 초기화할 수 있습니다.
private Object retrieveRemoteObject(Properties prp) throws ...Exception{
...
Object ejbHomeObject = getHomeObject(prp);
Method createMethod = ejbHomeObject.getClass().getMethod("create", null);
Object remoteObject = createMethod.invoke(ejbHomeObject, null);// 。 session bean, jfp  。
...
return remoteObject;
}


public Object getRemoteObject(Properties prp) throws ...Exception{
...
remoteObject = retrieveRemoteObject(prp);
...
return remoteObject;
}





}

최종적으로 다음 클라이언트 클래스에서 원격sessionbean의 업무 방법의 반환값 서열을 얻을 수 있습니다.
public class EjbClientConnector {

public Object[] sendObjects(String methodName, Object[] objects, Class[] methodParameters) throws ...Exception{
...
remoteObject = serviceLocator.getRemoteObject(this.prp);// session bean 。
...
remoteMethod = Class.forName(this.remote).getMethod(methodName, methodParameters);
remoteMethodResult = remoteMethod.invoke(remoteObject, objects);// session bean 。 。
...
}


}

다음은 JFP에 정의된 원격 홈과 원격 업무 에이전트 클래스 인터페이스입니다.

package com.xxbank.ejb;

import java.rmi.RemoteException;
import java.util.HashMap;
import javax.ejb.EJBObject;

public abstract interface Gateway extends EJBObject
{
  public abstract HashMap processApp(HashMap paramHashMap)
    throws RemoteException, Exception;

  public abstract HashMap getAppStatus(HashMap paramHashMap)
    throws RemoteException, Exception;

  public abstract void fireEOD(int paramInt1, int paramInt2)
    throws RemoteException, Exception;

  public abstract HashMap getRecalcResponse(HashMap paramHashMap)
    throws Exception;

  public abstract HashMap getPResponse(HashMap paramHashMap)
    throws Exception;

  public abstract HashMap releaseLock(HashMap paramHashMap)
    throws Exception;

  public abstract void insertDetails(HashMap paramHashMap)
    throws Exception;
}


package com.xxbank.ejb;

import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;

public abstract interface GatewayHome extends EJBHome
{
  public abstract Gateway create()
    throws CreateException, RemoteException;
}

좋은 웹페이지 즐겨찾기