EJB 3.0 Session Bean JNDI名称的设置和获取(服务器Glass Fish)

经过几天的摸索终于对EJB 3.0 Session Bean JNDI名称设置有点头绪了:

下面来总结一下我这几天的摸索和大家分享一下:

 

如何设置EJB 3.0 Session Bean JNDI名称呢?就以最简单的Hello World为例来说:

方法一:

通过@Stateless.mappedName()来设置

@Stateless(mappedName="****")

public class HelloBean implements HelloRemote, HelloLocal {

 

    public String sayRemoteHello(String name) {

        return "Remote "+name;

    }

 

    public String sayLocalHello(String name) {

        return "Local "+name;

    }

}

其中” ****”就是你要设置的JNDI名称

 

方法二:

通过ejb-jar.xml配置文件来配置,ejb-jar.xml的位置:用Netbeans将它放到配置文件下面即可。注意:ejb-jar.xml不会自动生成,要自己编写。

ejb-jar.xml

<?xml version="1.0" encoding="UTF-8"?>

<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"     

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    metadata-complete="true"

    version="3.0"

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">

<enterprise-beans>

  <session>

    <display-name>Hello</display-name>

    <ejb-name>HelloBean</ejb-name>

    <mapped-name>****</mapped-name>

    <business-remote>hello.HelloRemote</business-remote>

    <ejb-class>hello.HelloBean</ejb-class>

    <session-type>Stateless</session-type>

    <transaction-type>Container</transaction-type>

    <security-identity>

        <use-caller-identity/>

    </security-identity>

  </session>

</enterprise-beans>

</ejb-jar>


红色部分的“****“就是你要设置的JNDI名称

 

调用方法:

InitialContext ctx = new InitialContext();

HelloRemote hello = (HelloRemote) ctx.lookup("JNDI名称");

 

比如设置Session BeanJNDI名称为LOVEYOU

则调用方法为

InitialContext ctx = new InitialContext();

HelloRemote hello = (HelloRemote) ctx.lookup("LOVEYOU");

就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值