前面。我们介绍了一个入门实例。事实上那就是无状态回话Bean的经常使用情况。

上一篇文章中。我们介绍了无状态会话Bean和有状态会话Bean的相关概念。为了加深大家对它们的理解,我们一起来实现一个有状态会话Bean的样例——模拟购物车。

这个样例很经典:一个client购物的过程中。服务端会创建一个SessionBean保存着这一client的状态。client买的东西,都会在服务端进行存储。

也就是说。自始至终,一直存在一个有状态会话Bean对象。与该client进行交互。

以下来看详细实现:


1、准备环境

开发环境:Eclipse

jdk:1.6

jboss:Jboss5.0


2、服务端

接口:

package com.ejb.remote;
import java.util.List;
public interface IStatefulSessionBean {
	public void put(String bookName);
	public List<String> list();
}


实现:

package com.ejb.remote.impl;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.Remote;
import javax.ejb.Stateful;
import com.ejb.remote.IStatefulSessionBean;
@Remote
@Stateful
public class StatefulSessionBeanImpl implements IStatefulSessionBean {
	private List<String> bookList;
    public StatefulSessionBeanImpl() {
    	bookList = new ArrayList<String>();
    }
	@Override
	public void put(String bookName) {
		bookList.add(bookName);
	}
	@Override
	public List<String> list() {
		return bookList;
	}
}


3、client




执行结果:

               Ejb in action(四)——购物车实例演示有状态会话Bean

4、在开发的过程中。有一些注意问题,须要在此提醒:

1、使用注解时。注视使用javax.ejb.*包中的工具类;

2、因为存在client与server两端的开发,我们要注意,在开发完服务端后。须要将其部署到server,供client调用;

3、不同的client调用时。依赖包不太一样。像普通的java项目,我们须要引入Jboss(这里拿Jboss应用server做个例如)的Client包。这里的包为我们开发者准备了Ejb执行的一些工具类,而Webclient则无需引入Client包。

4、不管什么client,都须要引入服务端的接口。由于client须要使用JNDI。依据接口实例化实现。

这些包假设不引入,部署到server不会报错(server都有这些包),可是在开发期间是会报错的。


通过本人实例。相信你已经了解了有状态会话Bean的应用情况,在项目中。你能够依据实际情况。酌情选择使用。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-11
  • 2021-12-15
  • 2021-10-09
  • 2021-07-17
  • 2022-01-12
猜你喜欢
  • 2022-12-23
  • 2021-06-16
  • 2021-10-25
  • 2021-09-30
  • 2021-11-01
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案