`
anxin587
  • 浏览: 24017 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

EJB stateful session bean Count Test

阅读更多

这是根据精通ejb一书中的count stateful session bean所做,但是现在有一个问题就是这个sessionbean好像再执行过程中,没有被挂起 ,这样也就更加不存在什么激活了,ejbpassivate 和ejbactivate两个方法就没有被调用到,通过jboss控制传出来的信息,根本就不存在这两个方法的调用

大致代码如下所示:

本地接口countjava

package examples;
import javax.ejb.*;
import java.rmi.*;
public interface Count extends EJBObject
{
 public int count() throws RemoteException;
}

home接口

package examples;
import javax.ejb.*;
import java.rmi.*;
public interface CountHome extends EJBHome
{
 public Count create(int value) throws RemoteException, CreateException;
}

beanfangfa

package examples;
import javax.ejb.*;
import java.rmi.*;

public class CountBean implements SessionBean
{
 public int val;

 public int count()
 {
  System.out.println("count()....");
  return ++val;
 }

 public void ejbCreate(int val) throws CreateException
 {
  this.val=val;
  System.out.println("ejbCreate()");
 }

 public void ejbRemove()
 {
  System.out.println("ejbRemove()");
 }

 public void ejbActivate()
 {
  System.out.println("ejbActivate()...");
 }

 public void ejbPassivate()
 {
  System.out.println("ejbPassivate()");
 }

 public void setSessionContext(SessionContext ctx)
 {
  
 }


}

ejb jar

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE   ejb-jar   PUBLIC   "-//Sun   Microsystems,   Inc.//DTD   Enterprise   JavaBeans   2.0//EN"   "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<!--
<ejb-jar version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:msi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">-->
<ejb-jar>  
      <description>StatefulEJB</description>  
      <display-name>StatefulEJB</display-name>
<enterprise-beans>
 <session>
  <ejb-name>STATEFULEJB</ejb-name>
  <home>examples.CountHome</home>
  <remote>examples.Count</remote>
  <ejb-class>examples.CountBean</ejb-class>
  <session-type>Stateful</session-type>
  <transaction-type>Container</transaction-type>
 </session>
</enterprise-beans>
</ejb-jar>

client

import examples.*;
import java.util.*;
import javax.naming.Context;
import javax.naming.InitialContext;
/*
 this class used for test Statefulejb STATEFULEJB
*/
public class CountClient
{

 public static void main(String[] args) throws Exception
 {
  Properties props=new Properties();

  props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
  props.setProperty("java.naming.provider.url","jnp://192.168.52.136:1099");

  Context ctx=new InitialContext(props);
  
  CountHome home=(CountHome)javax.rmi.PortableRemoteObject.narrow(ctx.lookup("STATEFULEJB"),CountHome.class);

  Count[] count=new Count[3];
  
  int countval=1;
  System.out.println("Instantiating bean.......");
  for(int i=0;i<count.length;i++)
  {
   count[i]=home.create(countval);

   countval=count[i].count();
   System.out.println(countval);
   
   Thread.sleep(5000);
  }

  System.out.println("call count on beans.....");
  for(int i=0;i<3;i++)
  {
   countval=count[i].count();
   System.out.println(countval);

   Thread.sleep(5000);
  }

  // remove these beans
  for(int i=0;i<3;i++)
  {
   count[i].remove();
  }
 }
}

分享到:
评论

相关推荐

    EJB2 SessionBean

    在EJB2.x版本中,SessionBean扮演了服务代理的角色,执行特定的业务任务,并且可以分为无状态(Stateless)和有状态(Stateful)两种类型。 **无状态SessionBean**不保留任何会话信息,每个调用都是独立的,适合...

    EJB详解 sessionbean entitybean MDB

    它可以是无状态的(Stateless Session Bean),为每个请求创建新的实例,或者有状态的(Stateful Session Bean),维护与特定客户端会话的状态。 - **Entity Bean**:用于表示数据库中的持久化对象,实现业务实体的...

    EJB_sessionbean.rar_session

    有状态Session Bean(Stateful Session Bean)在会话期间保留客户端的状态信息。这意味着同一个客户端的多次调用将始终与同一个bean实例交互,允许bean跟踪和管理客户端的会话数据。这种类型的bean在购物车或游戏...

    EJB3.0无状态SessionBean例子

    **EJB3.0无状态SessionBean例子** Enterprise JavaBeans(EJB)是Java平台上的一个核心组件,用于构建企业级分布式应用。EJB3.0是EJB规范的一个重大改进,它引入了诸多简化开发的新特性,使得EJB更加轻量级且易于...

    EJB3图文教程之开发Session Bean

    ### EJB3图文教程之开发Session Bean:详细解析与实践指南 #### 一、环境搭建:JBuilder2007与JBoss4.0的完美结合 在开始EJB3.0的Session Bean开发之前,首先需搭建一个适宜的开发环境。本教程将指导你如何在...

    EJB3.0开发Session Bean.rar

    **企业级JavaBeans (EJB) 3.0:核心概念与Session Bean详解** 企业级JavaBeans(Enterprise JavaBeans,简称EJB)是Java平台上用于构建可部署在服务器端的企业级应用的重要组件模型。EJB 3.0是EJB规范的一个重大...

    ejb sessionbean demo

    Session Bean是EJB的一种类型,它代表了客户端与服务器之间的临时会话状态,提供了无状态或有状态的服务。 在"ejb sessionbean demo"中,我们主要探讨的是如何使用EJB的Session Bean进行开发和演示。Session Bean...

    Stateful--sessionbean.zip_sessionBean_stateful

    在Java企业级应用开发中,会话Bean(Session Bean)是EJB(Enterprise JavaBeans)规范的一部分,用于处理客户端的业务逻辑。会话Bean分为两种类型:无状态会话Bean和有状态会话Bean。本知识点主要聚焦于"有状态的...

    ejb实例包括session bean和实体bean

    1. **Stateful Session Bean**:状态ful会话Bean保留了与特定客户端会话相关联的状态信息。这意味着它能够跟踪客户端的状态,例如购物车中的商品,从而提供个性化的服务。 2. **Stateless Session Bean**:无状态...

    EJB容器对bean的管理

    对于有状态session bean(Stateful session bean),由于需要维护会话状态,EJB容器采用了激活和钝化技术来节省资源。钝化是指在内存资源紧张时,将stateful session bean的状态序列化并存储到持久化存储中,同时从...

    ejb入门录像 sessionBean

    Session Bean可以是无状态的(Stateless Session Bean),每个客户端请求都被视为独立,或者有状态的(Stateful Session Bean),可以记住客户端的会话信息。 2. **MyEclipse开发工具**: MyEclipse是一款强大的...

    EJB的开发及应用,Session Bean的开发

    与Stateful Session Bean(有状态会话Bean)不同,它维护了客户端会话状态,而Stateless Session Bean(无状态会话Bean)则不保留任何客户端状态,每次调用都独立于其他调用。Session Bean主要用于表示业务逻辑,...

    ONLINE_STORE:Stateful Session Bean 和 Singleton Session Bean 实现

    本话题主要关注两种特定类型的EJB:Stateful Session Bean(有状态会话bean)和Singleton Session Bean(单例会话bean),它们在实现网上商城这样的复杂业务系统中起着关键作用。 Stateful Session Bean(有状态...

    EJB的编程规则之Session Bean

    Session Bean是Enterprise JavaBeans (EJB)的一种重要组件,它主要负责实现业务逻辑,处理客户端的请求。Session Bean不直接映射数据库中的共享数据,其状态是非持久化的,不需要写入数据库。它们由EJB容器管理,...

    Java EJB中有、无状态SessionBean的两个例子.rar

    在Java EE中,SessionBean是企业 Bean(EJB)的一种类型,它提供了服务器端的方法来处理客户端的请求。SessionBean分为两种主要类型:有状态(Stateful Session Beans,SSB)和无状态(Stateless Session Beans,SSB...

    Session Bean的使用

    JavaBean和Session Bean是Java企业级应用开发中的重要概念,特别是在使用Enterprise JavaBeans(EJB)技术时。本文将深入探讨这两个概念,以及如何在实际项目中使用它们。 首先,让我们了解什么是JavaBean。...

    EJB3.0开发Session Bean

    ### EJB3.0开发Session Bean:从理论到实践 #### 概述 EJB(Enterprise JavaBeans)是Java EE规范中的一个重要组成部分,用于构建分布式、健壮的企业级应用程序。自EJB3.0版本起,它引入了注解驱动的开发模型,...

Global site tag (gtag.js) - Google Analytics