@EJB注释的总结

SB InjectionBean

G:/dev/ws/SB/src/com/foshanshop/ejb3/Hello.java

G:/dev/ws/SB/src/com/foshanshop/ejb3/Injection.java

G:/dev/ws/SB/src/com/foshanshop/ejb3/impl/HelloBean.java

G:/dev/ws/SB/src/com/foshanshop/ejb3/impl/InjectionBean.java

 

InjectionBean.java

 

package com.foshanshop.ejb3.impl;

import com.foshanshop.ejb3.Injection;
import com.foshanshop.ejb3.Hello;
import javax.ejb.Stateless;
import javax.ejb.Remote;
import javax.ejb.EJB;

 

@Stateless
@Remote (Injection.class)
public class InjectionBean implements Injection{

 @EJB (beanName="HelloBean")Hello hello;
 public String SayHello()
 {
  return hello.SayHello("注入者");
 }
}

@EJB注释的name(), beanName(), mappedName()属性

1.不带任何属性使用

如:@EJB Hello hello;

当Hello接口在EJB-JAR文件内只被一个Bean class使用时,可以这样引用,那么

容器是如何解析这一引用的呢?以下JBOSS的解析引用

 

・对于@EJB Hello hello而言,唯一的标识符是Hello接口,JBOSS应用服务器首

先在注入的EJB-JAR中查找使用Hello作为其本地或远程接口的EJB.如果有多个

EJB使用Hello业务接口,则容器会抛出一个部署异常。

 

・如果EJB-JAR作为EAR的一个模块被部署,那么容器就会在其EAR中包含的

EJB-JAR中查找使用Hello作为本地或远程接口的EJB。同样,如果有多个EJB使用

Hello业务接口,则容器会抛出一个部署异常。

 

・如果容器没有在EAR中找到该EJB引用,则它会在其他的全局EJB-JAR中继续查找。

 

・如果指定了beanName()属性,JBOSS同样的查找过程,但是它所使用的唯一标

符识将是beanName()的值,如果指定了mappedName()属性,则JBOSS将不会

进行任何搜索,他根据mappedName()的值在全局JNDI中获取EJB引用。

 

待续中...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值