ejbhomefactory.java

来自「100多M的J2EE培训内容」· Java 代码 · 共 50 行

JAVA
50
字号
package com.borland.training.meetings.sessions;import javax.naming.*;import java.util.*;import javax.ejb.*;import com.borland.training.meetings.entities.*;import com.borland.training.meetings.sessions.*;public class EJBHomeFactory {  private static EJBHomeFactory instance = null;  private Context initialContext;  private Map ejbHomes;  private EJBHomeFactory() throws NamingException {    initialContext = new InitialContext();    ejbHomes = Collections.synchronizedMap(new HashMap());  }  public static EJBHomeFactory getInstance() throws NamingException {    if(instance == null) {      instance = new EJBHomeFactory();    }    return instance;  }  public EJBLocalHome lookupByLocalEJBReference(String ejbReferenceComponent)    throws NamingException {    java.lang.Object home = ejbHomes.get(ejbReferenceComponent);    if(home == null) {      home = initialContext.lookup("java:comp/env/ejb/" + ejbReferenceComponent);      ejbHomes.put(ejbReferenceComponent, home);    }    return (EJBLocalHome) home;  }  public EJBHome lookupByRemoteEJBReference(String ejbReferenceComponent, Class homeClass)    throws NamingException {    java.lang.Object home = ejbHomes.get(ejbReferenceComponent);    if(home == null) {      java.lang.Object obj =        initialContext.lookup("java:comp/env/ejb/" + ejbReferenceComponent);      home = javax.rmi.PortableRemoteObject.narrow(obj, homeClass);      ejbHomes.put(ejbReferenceComponent, home);    }    return (EJBHome) home;  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?