| Container.java |
/* JFox, the OpenSource J2EE Application Server
*
* Copyright (C) 2002 huihoo.com
* Distributable under GNU LGPL license
* See the GNU Lesser General Public License for more details.
*/
package org.jfox.ejb;
import java.util.Iterator;
import javax.transaction.TransactionManager;
import org.huihoo.jfox.system.Component;
import org.jfox.ejb.plugin.Interceptable;
/**
* 容器接口,定义 ejb 容器需要实现的方法,Container 还应该包含所有 ejb bulk 共享的资源,比如:ThreadPool
* Container 数据存储结构
* homeClassName -> bulk
* @null EJBHome
* @xxx EJBObject xxx 为 EJBObject 的 id
*
* @author <a href="mailto:young_yy@hotmail.com">Young Yang</a>
*/
public interface Container extends Component, Interceptable {
/**
*
* @return 所有 bean bulk 的 key 的 iterator
*/
Iterator listBulks();
void dropBulk(String beanClassName) throws Exception;
/**
* 根据 deployer 传来的参数,生成一个 bean bulk,并且把其 Home 绑定到 jndi
*/
void createBulk(BulkMetaData meta) throws Exception;
/**
* invoke a method
* @return
*/
Object invoke(Invocation invocation) throws Exception;
TransactionManager getTransactionManager();
String getRemoteProtocol();
void setRemoteProtocol(String remoteProtocol);
String getLocalProtocol();
void setLocalProtocol(String localProtocol);
}