1 45 package org.openejb.server; 46 47 import org.openejb.ProxyInfo; 48 import org.openejb.util.FastThreadLocal; 49 50 import org.openejb.core.ivm.IntraVmServer; 51 import org.openejb.spi.ApplicationServer; 52 53 import javax.ejb.Handle ; 54 import javax.ejb.EJBMetaData ; 55 import javax.ejb.HomeHandle ; 56 import javax.ejb.EJBObject ; 57 import javax.ejb.EJBHome ; 58 59 75 public class ServerFederation implements ApplicationServer { 76 77 private static FastThreadLocal threadStorage = new FastThreadLocal(); 78 79 80 81 89 public Handle getHandle(ProxyInfo proxyInfo) { 90 return getApplicationServer().getHandle(proxyInfo); 91 } 92 93 101 public EJBMetaData getEJBMetaData(ProxyInfo proxyInfo) { 102 return getApplicationServer().getEJBMetaData(proxyInfo); 103 } 104 105 113 public HomeHandle getHomeHandle(ProxyInfo proxyInfo) { 114 return getApplicationServer().getHomeHandle(proxyInfo); 115 } 116 117 125 public EJBObject getEJBObject(ProxyInfo proxyInfo) { 126 return getApplicationServer().getEJBObject(proxyInfo); 127 } 128 129 137 public EJBHome getEJBHome(ProxyInfo proxyInfo) { 138 return getApplicationServer().getEJBHome(proxyInfo); 139 } 140 141 142 144 150 public static void setApplicationServer(ApplicationServer server) { 151 if ( server != null ) { 152 threadStorage.set(server); 153 } 154 } 155 156 162 public static ApplicationServer getApplicationServer( ) { 163 ApplicationServer server = (ApplicationServer)threadStorage.get(); 164 return (server == null)? localServer: server; 166 } 167 168 private static final IntraVmServer localServer = new IntraVmServer(); 169 } 170 171 172 | Popular Tags |