`

4.开发本地接口的无状态会话Bean

阅读更多

      远程接口需要与EJB应用建立Socket连接,并传输数据进行交互,而 本地接口与EJB应用之间的则直接在内存中进行交互 。因此,比本地接口占用更多的系统资源。

      当客户端与EJB应用在同一个JVM内才能调用本地接口。 通俗的说,客户端与EJB应用发布在同一个JBoss中。

 

package com.taoistwar.ejb;

public interface HelloWorld {
	public String sayHello(String name);
}

 

package com.taoistwar.ejb.impl;

import javax.ejb.Local;
import javax.ejb.Remote;
import javax.ejb.Stateless;

import com.taoistwar.ejb.HelloWorld;

@Stateless
@Local(HelloWorld.class)
public class HelloWorldBean implements HelloWorld {

	@Override
	public String sayHello(String name) {
		return name + "说:你好世界!";
	}

}

       客户端调用要在同一个JVM内,因此,用一个WEB项目的jsp文件进行测试。

 

<%@page language="java" contentType="text/html; charset=utf-8"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="javax.naming.NamingException"%>
<%@page import="com.taoistwar.ejb.HelloWorld"%>

<%
	try {
		InitialContext ic = new InitialContext();
		HelloWorld hw = (HelloWorld) ic.lookup("HelloWorldBean/local");
		String message = hw.sayHello("TaoistWar");
		out.println(message);
	} catch (NamingException e) {
		e.printStackTrace();
	}

%>

      远程接口与本地接口的代码区别 在于注解的不同 ,EJB窗器会根据不同的注解,使用不同的运行方式。

        注: @Remot(HelloWorld.class)和@Local(HelloWorld.class)可以同时使用。

 

 

 

 

 

分享到:
评论

相关推荐

    传智播客 EJB3.0PPT 完整版 黎明活

    02_开发第一个无状态会话bean 03_开发EJB的客户端 04_把jboss集成进eclipse 05_通过ANT提高EJB应用的开发效率 06_开发具有本地接口的无状态bean 07_开发有状态bean 08_通过注解方式注入并使用其他EJB或者服务...

    Spring API

    7.10.4. ThreadLocal目标源 7.11. 定义新的Advice类型 7.12. 更多资源 8. 测试 8.1. 简介 8.2. 单元测试 8.2.1. Mock对象 8.2.2. 单元测试支持类 8.3. 集成测试 8.3.1. 概览 8.3.2. 使用哪个支持框架 ...

    Spring中文帮助文档

    7.10.4. ThreadLocal目标源 7.11. 定义新的Advice类型 7.12. 更多资源 8. 测试 8.1. 简介 8.2. 单元测试 8.2.1. Mock对象 8.2.2. 单元测试支持类 8.3. 集成测试 8.3.1. 概览 8.3.2. 使用哪个支持框架 ...

    EJB葵花宝典(题集)

    3.4Stateless SessionBean(无状态会话Bean) 3.4.1需求 19 3.4.2Remote接口 20 3.4.3Local接口 21 3.4.4Bean类 22 3.4.5远程客户 23 3.4.6本地客户 24 3.5Stateful SessionBean(有状态会话Bean) 25 3.6State...

    JBoss Seam 工作原理、seam和hibernate的范例、RESTFul的seam、seam-gen起步、seam组件、配置组件、jsf,jboss、标签、PDF、注解等等

    Seam - 语境相关的组件[满江红20071230]............................................................................................................................ 1 Java EE 框架...........................

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    8.3.2 开发本地调用的无状态 Session Bean 311 8.4 发布Session Bean 314 8.4.1 打包EJB-JAR 315 8.4.2 Annotation与部署描述文件 315 8.5 开发有状态的Session Bean 318 8.6 Session Bean的生命周期 321 8.6.1 无...

    Java优化编程(第2版)

    8.3.2 通过调节无状态会话ejb实例池的大小来优化系统性能 8.3.3 无状态会话ejb资源的缓冲与释放 8.4 优化有状态会话ejb性能 8.4.1 控制有状态会话ejb生命周期 8.4.2 优化有状态会话ejb的主要途径 8.5 优化实体ejb的...

    java 面试题 总结

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    超级有影响力霸气的Java面试题大全文档

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    java面试宝典

    73、线程的基本概念、线程的基本状态以及状态之间的关系 18 74、sleep() 和 wait() 有什么区别? 18 75、socket通信(tcp/udp区别及JAVA的实现方式) 18 76、什么是java序列化,如何实现java序列化? 18 77、简述...

    jsp servlet 入门学习资料-新手一看就懂

    6.10.4 利用session制作一个购物车 6.10.5 JavaBeans的作用域 6.10.6 利用JavaBeans制作的购物车 6.11 使用application对象 6.11.1 应用的概念 6.11.2 application对象可用的方法和属性 6.11.3 application...

    jsp从入门到高级编程

    6.10.4 利用session制作一个购物车 6.10.5 JavaBeans的作用域 6.10.6 利用JavaBeans制作的购物车 6.11 使用application对象 6.11.1 应用的概念 6.11.2 application对象可用的方法和属性 6.11.3 application...

    JSP高级教程

    6.10.4 利用session制作一个购物车 6.10.5 JavaBeans的作用域 6.10.6 利用JavaBeans制作的购物车 6.11 使用application对象 6.11.1 应用的概念 6.11.2 application对象可用的方法和属性 6.11.3 application...

    JSP高级编程

    6.10.4 利用session制作一个购物车 6.10.5 JavaBeans的作用域 6.10.6 利用JavaBeans制作的购物车 6.11 使用application对象 6.11.1 应用的概念 6.11.2 application对象可用的方法和属性 6.11.3 ...

    JAVA上百实例源码以及开源项目源代码

    两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...

    JAVA上百实例源码以及开源项目

    两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...

    千方百计笔试题大全

    73、线程的基本概念、线程的基本状态以及状态之间的关系 18 74、sleep() 和 wait() 有什么区别? 18 75、socket通信(tcp/udp区别及JAVA的实现方式) 18 76、什么是java序列化,如何实现java序列化? 18 77、简述...

    Activiti6.0教程例子下载

    4. TaskService: 在Activiti中业务流程定义中的每一个执行节点被称为一个Task,对流程中的数据存取,状态变更等操作均需要在Task中完成。TaskService提供了对用户Task 和Form相关的操作。它提供了运行时任务查询、...

Global site tag (gtag.js) - Google Analytics