ejb中的3种bean:
什么是会话bean?
编写第一个ejb3的会话bean:
步骤:
1.ejb企业级开发是面向接口编程的,我们完成第一个HelloWorld的例子,首先写接口,也就是远程接口(服务器端)
package cn.com.xinli.ejb3;
public interface HelloWorld
{
public String sayHello(String name);
}
2.在写接口的实现类(服务器端)
package cn.com.xinli.ejb3.impl;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import cn.com.xinli.ejb3.HelloWorld;
/*表明这个ejb是无状态的会话bean*/
@Stateless
/*声明这个ejb的远程接口是HelloWorld,必须要写这个注解,不写调用的时候会报错*/
@Remote(HelloWorld.class)
public class HelloWorldBean implements HelloWorld
{
public String sayHello(String name)
{
return name+",你好,世界!";
}
}
3. 开发客户端
jndi 环境 信息说明:
package cn.com.xinli.ejb3.test;
import java.util.Hashtable;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import cn.com.xinli.ejb3.HelloWorld;
public class EjbClient
{
public static void main(String[] args)
{
Hashtable evn = new Hashtable();
evn.put(Context.PROVIDER_URL, "127.0.0.1:1099");
evn.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
// Properties properties=new Properties();
// properties.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
// properties.setProperty("java.naming.provider.url", "localhost:1099");
try
{
InitialContext context=new InitialContext(evn);
/**
* ejb3比ejb2有可地方比较好,就是在jndi查找的时候不用我们在写ejb-jar.xml
* 只要我们按照jndi名字的查找规范就可以找到远程接口了
*
*/
HelloWorld helloword=(HelloWorld)context.lookup("HelloWorldBean/remote");
System.out.println(helloword.sayHello("huxl"));
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
4.部署服务器端,就是吧项目打成一个jar包放在jboss的D:\jboss-4.2.3.GA\server\default\deploy下
5.结果:
huxl,你好,世界!
分享到:
相关推荐
**EJB3 开发第一个无状态会话 Bean 知识详解** 无状态会话 Bean(Stateless Session Bean)是企业级 Java(EJB)3.0 中的核心组件,主要用于实现业务逻辑,它不保存任何特定客户端的状态信息。本篇文章将深入讲解...
- **会话Bean(Session Beans)**:分为无状态会话Bean(Stateless Session Beans)和有状态会话Bean(Stateful Session Beans),无状态Bean处理简单事务,有状态Bean保持客户端会话状态。 2. **注解驱动开发** ...
在本主题"ejb3 第12讲 --开发EJB容器模型的WEB服务"中,我们将探讨如何利用EJB 3.0版本来创建和整合Web服务。EJB 3.0是一个重要的里程碑,因为它显著简化了EJB的使用,引入了更多的POJO(Plain Old Java Object)...
开发无状态会话Bean时,可以通过实现远程接口来提供客户端调用的方法。 **2.1.2 开发只实现Local接口的无状态SessionBean** Local接口用于内部组件之间的调用,可以提高性能并减少安全风险。 **2.1.3 开发实现了...
- 介绍如何创建、部署和调用一个只有远程接口的无状态Session Bean。 - 开发只存在Local接口的无状态Session Bean: - 解释本地接口的使用场景和实现方法。 - 开发同时具备Remote与Local接口的无状态Session ...
例如,无状态会话Bean在第一次请求时被创建,之后的请求会被同一个实例服务,直到容器决定回收该实例。 **4. 事务管理** EJB 3.0支持声明式事务管理,开发者可以通过`@TransactionAttribute`注解来指定事务的属性...
- EJB是J2EE(Java 2 Platform, Enterprise Edition)的一部分,它定义了一个用于构建基于组件的企业级应用的标准。 - EJB的特点包括支持网络服务以及提供了强大的SDK(Software Development Kit)来进行开发工作。 ...
EJB3.0中的会话Bean有两种类型:无状态会话Bean(Stateless Session Beans)和有状态会话Bean(Stateful Session Beans)。无状态Bean不维护客户端的会话状态,而有状态Bean则可以记住客户端的交互历史。 4. **依赖...
5. **简化会话bean(Session Beans)**:EJB 3.0区分了无状态会话bean(`@Stateless`)和有状态会话bean(`@Stateful`),无状态bean适用于简单的请求-响应模式,而有状态bean则能保持客户端会话的上下文。...
这个例子应该包括基本的无状态会话Bean的创建和调用。 - 使用JBoss提供的工具和文档来指导这一过程。 **2.3 在独立的TOMCAT中调用EJB** - 配置TOMCAT使其能够调用远程EJB。这通常涉及设置正确的类路径以及配置相关...
有无状态会话Bean和有状态会话Bean两种,前者不保存客户端状态,后者则可以。 - **消息驱动Bean(Message Driven Bean)**:用于处理JMS(Java Message Service)消息,实现异步处理。 **3. 注解驱动** EJB3.0的...
- **会话Bean**: 提供业务逻辑处理,分为无状态会话Bean和有状态会话Bean。 - **实体Bean**: 表示持久化的数据对象。 - **消息驱动Bean**: 处理异步消息。 ##### 3.2 基于STRUTS+EJB 3.0应用的体系结构图 - **表示...
- **无状态与有状态会话Bean**:无状态会话Bean适用于不需要维护客户端状态的情况,而有状态会话Bean则用于需要在多个请求间维护状态的场景。教程详细对比了两种Bean的区别,并提供了具体的开发指导。 - **生命周期...
3. **创建第一个EJB**:动手实践编写无状态会话Bean、实体Bean、消息驱动Bean。 4. **注解和依赖注入**:学习如何使用各种注解,并理解依赖注入的工作原理。 5. **持久化和查询**:深入研究JPA,编写JPQL查询,理解...