}
public void start()
throws Exception
{
BeanMetaData metaData = container.getBeanMetaData();
EJBProxyFactoryContainer invokerContainer =
(EJBProxyFactoryContainer) container;
localHomeClass = invokerContainer.getLocalHomeClass();
localClass = invokerContainer.getLocalClass();
if(localHomeClass == null || localClass == null)
{
log.debug(metaData.getEjbName()
+
" cannot be Bound, doesn't " +
"have local and local home interfaces");
return;
}
// this is faster than newProxyInstance
Class[] intfs = {localClass};
Class proxyClass = Proxy.getProxyClass(ClassLoaderAction.UTIL.get(localClass), intfs);
final Class[] constructorParams =
{InvocationHandler.class};
proxyClassConstructor = proxyClass.getConstructor(constructorParams);
Context iniCtx = new InitialContext();
String beanName = metaData.getEjbName();
// Set the transaction manager and transaction propagation
// context factory of the GenericProxy class
transactionManager =
(TransactionManager) iniCtx.lookup("java:/TransactionManager");