因为这中间EJB Container要做很多的 事情,比如事务和安全管理,这种架构就是让开发者能够专心于业务逻辑的处理,而将事务等处理交给配置人员和系统集成人员来完成。
事实上容器在部署EJB的时候,都会生成这个home和remote/local interface的实现类,通过这些实现类来调用bean的对应的方法。
事实上容器在部署EJB的时候,都会生成这个home和remote/local interface的实现类,通过这些实现类来调用bean的对应的方法。
解决方案 »
- java mail 发送邮件错误,javax.mail.AuthenticationFailedException: failed to connect
- sql求助
- Ztree半勾选怎么解决
- 100分问下面的程序为什么不刷新在线等,忙了俩小时了
- 难道是我的人品问题
- 急,关于Struts怎么取复选框的值
- 奇怪的问题:用strust2的execAndWait拦载器后在execute()中调用this.getText()方法会null
- hibernate的一个问题
- 问一个关于Oracle9i JDeveloper的问题,请有经验的朋友进来看看,谢谢!(初学者)
- Help me!
- 请问:为了负载平衡,怎样将bean发布到多台机器上的j2ee服务器上。
- 部署ejb的问题
给用户调用的interface则一定是该interface的实现类了。
我就是一时没找到解决的书,想起来怪怪的,今天就结贴,请大家多发言。
最终的实现类是EJB容器帮你完成的!Abstract方法是因为你只是给容器一个指示,容器来实现这个Abstract方法
容器也不同样也可以照样实现吗?
容器也不同样也可以照样实现吗?
___________________________________________
不懂你在说什么?
容器也不同样也可以照样实现吗
读都读不通顺
public abstract method1();
}public abstract IntImpl implements Interface{
public abstract method1();
}这样不可以吗?
我是问你:public interface TryEntityRemote extends javax.ejb.EJBObject {
public Integer getId() throws RemoteException;
public void setName(java.lang.String name) throws RemoteException;
public java.lang.String getName() throws RemoteException;
public void setId_code(java.lang.String id_code) throws RemoteException;
public java.lang.String getId_code() throws RemoteException;
public void setAddress(java.lang.String address) throws RemoteException;
public java.lang.String getAddress() throws RemoteException;
public void setEmail(java.lang.String email) throws RemoteException;
public java.lang.String getEmail() throws RemoteException;
}public abstract class TryEntityBean implements EntityBean,TryEntityRemote { EntityContext entityContext; public Integer ejbCreate(Integer id, java.lang.String name, java.lang.String id_code) throws CreateException {
setId(id);
setName(name);
setId_code(id_code);
setId(id);
return null;
} public void ejbPostCreate(Integer id, java.lang.String name, java.lang.String id_code) throws CreateException {
} public void ejbRemove() throws RemoveException {
} public abstract void setId(Integer id);
public abstract void setName(java.lang.String name);
public abstract void setId_code(java.lang.String id_code);
public abstract void setAddress(java.lang.String address);
public abstract void setEmail(java.lang.String email);
public abstract java.lang.String getEmail();
public abstract java.lang.String getAddress();
public abstract java.lang.String getId_code();
public abstract java.lang.String getName();
public abstract Integer getId(); public void ejbLoad() {
} public void ejbStore() {
} public void ejbActivate() {
} public void ejbPassivate() {
} public void unsetEntityContext() {
this.entityContext = null;
}
public void setEntityContext(EntityContext entityContext) {
this.entityContext = entityContext;
}
}
看到了没有?implement 了 TryEntityRemote,但真正编码的时候并不需要,现在的问题是为什么不能 implement 这个remote interface?
方法集合模板,无非是在做一些设置和获取字段的工作。而这些方法是被CMP严格规定的!并且只能是Abstract,你在这里只是做的一些重复性的工作。
其实写一个接口来强迫BEAN类实现这个接口里面的方法,这种做法很常见,但是一般接口里面规定的都是一些业务逻辑方法,举个例子:
你还可以在你的TryEntityRemote 接口里添加如下方法:
public abstract String getAddress_Email();
然后在BEAN里面做如下实现:
public String getAddress_Email()
{
return ""+getAddress()+getEmail();
}
因为getAddress_Email这个方法并取得数据库的一个字段,换句话说,CMP并没有对它做出什么规定,可看做一个简单的业务逻辑方法。
我不知道我说清楚没有
方法集合模板,无非是在做一些设置和获取字段的工作。而这些方法是被CMP严格规定的!并且只能是Abstract,你在这里只是做的一些重复性的工作。
其实写一个接口来强迫BEAN类实现这个接口里面的方法,这种做法很常见,但是一般接口里面规定的都是一些业务逻辑方法,举个例子:
你还可以在你的TryEntityRemote 接口里添加如下方法:
public abstract String getAddress_Email();
然后在BEAN里面做如下实现:
public String getAddress_Email()
{
return ""+getAddress()+getEmail();
}
因为getAddress_Email这个方法并取得数据库的一个字段,换句话说,CMP并没有对它做出什么规定,可看做一个简单的业务逻辑方法。
我不知道我说清楚没有