EJB 随笔<一>
来源:互联网 发布:速读记忆训练软件. 编辑:程序博客网 时间:2024/04/25 23:11
之前学习过EJB,但是好久没有使用了,由于项目关系,所以重操旧业。但是发现突然间对EJB使用不是很顺手,所以重新了解了一下EJB,这次记录下来吧。
基础知识这里就不在赘述了,google一把一把的,就说一下我比较困惑的几点
1、同一个interface,不可以在同一个实现中,既使用@Remote,又使用@Local
2、同一interface,可以在不同实现中,及使用@Remote,又使用@Local
例子:
public interface IReportDaoLocal {
public void saySomething();
}
实现1
import javax.ejb.Stateless;
@Stateless
public class ReportDaoLocal implements IReportDaoLocal {
@Override
public void saySomething() {
System.out.println("I am in ReportDaoLocal");
}
}
实现2
import javax.ejb.EJB;
import javax.ejb.Remote;
import javax.ejb.Stateless;
@Stateless
@Remote({IReportDaoLocal.class})
public class ReportDaoremote implements IReportDaoLocal {
@EJB(name="ReportDaoLocal")
private IReportDaoLocal reportlocal;
@Override
public void saySomething() {
System.out.println("i am local interface of reportDao Local");
reportlocal.saySomething();
}
}
这样实现是没有问题的,下边这种实现方式是错误的
import javax.ejb.Stateless;
@Stateless
@Local({IReportDaoLocal .class})
@Remote({IReportDaoLocal .class})
public class ReportDaoLocal implements IReportDaoLocal {
@Override
public void saySomething() {
System.out.println("I am in ReportDaoLocal");
}
}
3、如果interface 没有继承其他interface,则不可以使用@Stateless,@Local,@Remote,如果有其他继承接口,没有试验
例如:
@Stateless
public interface IReportDaoLocal {
public void saySomething();
}
这是错误的,虽然没有写@Local,只写@Stateless默认是Local端口
4、如果一个实现类,继承了另一个实现类,而另一个实现类被标注了@Stateless或者@Remote标注,在Jboss 5服务器中,第一个实现类是不会被JNDI注册的,即是说,第一个实现类不会成为服务,只是一个普通的类
- EJB 随笔<一>
- EJB<一>
- 手绘随笔:随笔(一)
- 【生活随笔】随笔一
- EJB(一)认识ejb
- 随笔一
- 随笔《一》
- 随笔一
- 随笔一
- 随笔,一
- 随笔(一)
- 随笔一
- 随笔一
- 随笔一
- 随笔一
- 读传智播客黎老师EJB视频随笔上
- 读传智播客黎老师EJB视频随笔下
- 恶斗EJB(一)
- URL编码与二次encodeURI
- 海量数据处理专题(六)——双层桶划分
- Linux修改MySql默认存储引擎为InnoDB
- 关于在web项目中将pdf文件显示成swf文件的相关详细说明
- php webservice实例
- EJB 随笔<一>
- 快速排序
- 海量数据处理专题(七)——数据库索引及优化
- 海量数据处理专题(八)——倒排索引(搜索引擎之基石)
- 关于学习(在工作中学习)
- 20个国内Android平台移动应用市场
- Yii框架扩展apiRoomTypeTreeColumn【第三方主题区下拉菜单】
- 谈交互设计的经验积累
- Page.ClientScript.RegisterStartupScript() 方法与Page.ClientScript.RegisterClientScriptBlock() 方法