三、无状态会话Bean实例
在上一篇文章里,其实我们已经应用到了无状态会话Bean,那好,下面我们详细的来分析下上一篇文 章里给出的示例程序。 没有阅读过的朋友请点击这里阅读:<<一步一步学EJB 3.0(二):初探企业 EJB模块开发>> .
首先我们来看看接口的定义:
1 /**
2 * 远程接口
3 * @author Beniao
4 */
5 @Remote
6 public interface HelloRemote {
7 void sayHello(String str);
8 }
这里我们定义了一个接口,并通过@Remote将此接口标记为远程接口.下面是实现类的定义:
1/** *//**
2 * 无状态会话Bean
3 * @author Beniao
4 */
5@Stateless(mappedName="myejb/hello")
6@Remote(HelloRemote.class) //所实现的远程接口
7public class HelloBean implements HelloRemote {
8 public void sayHello(String str) {
9 System.out.println("Hello " + str);
10 }
11}
这个实现类很简单,就是直接在参数前加上"Hello "后输出.这里我们需要注意的就是在类上面的两个 标注符:
1. @Stateless: 用于标记当前Java Bean为无会话状态Bean. 通过指定属性mappedName来生成 JNDI.
2. @Remote: 用于标记当前Java Bean所实现的远程接口
OK,上面就是一个无会话Bean的简单示例,客户端可以直接通过@Stateless中配置的mappedName来获取 实例.
1 public class Main {
2 public static void main(String[] args) throws Exception {
3 Context ctx = new InitialContext();
4 HelloRemote hw = (HelloRemote)ctx.lookup("myejb/hello");
5 hw.sayHello(" Beniao!");
6 }
7 }
更详细的开发请大家查看相应的资料,我写这些文章只是一个引导而已.