`
javaEEdevelop
  • 浏览: 876145 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

开发第一个无状态会话bean [草稿]

 
阅读更多

准备事项

1.查询jBoss部署的JNDI,http://localhost:8080/jmx-console/ 路径下,查找jboss-->service=JNDIView-->java.lang.String list()--点击Invoke-->Global JNDI Namespace(这是全部的JNDI,最下面就有自己开发的HelloWorldBean)

2.运行JBoss: jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\bin\run.bat文件

3.jBoss默认部署的路径: jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\server\default\deploy下

 

Jboss默认生成的JNDI 名称

当EJB发布到Jboss 时,如果我们没有为它指定全局JNDI名称或修改过其默认EJB名称,Jboss就会按照默认的命名规则为EJB生成全局JNDI名称,默认的命名规则如下:

如果把EJB作为模块打包进后缀为*.ear的JAVA EE企业应用文件,默认的全局JNDI名称是

本地接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/local

远程接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/remote

       EAR-FILE-BASE-NAME为ear文件的名称,EJB-CLASS-NAME为EJB的非限定类名。

例:把HelloWorld应用作为EJB模块打包进名为HelloWorld.ear的企业应用文件,它的远程接口的JNDI 名称是:HelloWorld/HelloWorldBean/remote

 

 

如果把EJB应用打包成后缀为*.jar的模块文件,默认的全局JNDI名称是

本地接口:EJB-CLASS-NAME/local

远程接口:EJB-CLASS-NAME/remote

例:把HelloWorld应用打包成HelloWorld.jar文件,它的远程接口的JNDI名称是:HelloWorldBean/remote

 

开发步骤

1.开发服务端HelloWorldBean.java

2.开发客户端EJBClient.java

3.部署服务到jBoss下,有两种方式:一种是打成*.ear文件,一种是打成*.jar文件,本文采用*.jar文件,不同的发布JNDI的名称会不一样,看【Jboss默认生成的JNDI 名称】这里,现在是把HelloWorld.java和HelloWorld.java打成helloWorld.jar文件部署服务到jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\server\default\deploy下,然后运行jBoss,然后客户端调用EJBClient1和EJBClient2两种方式调用.

 

HelloWorld.java

 

package cn.cmcc.ejb3;

 

public interface HelloWorld {

 

public String say(String name);

}

HelloWorldBean.java

package cn.cmcc.ejb3.impl;

 

import javax.ejb.Remote;

import javax.ejb.Stateless;

 

import cn.cmcc.ejb3.HelloWorld;

 

@Stateless //申明是一个无状态bean

@Remote  //申明是一个远程接口,不写默认是本地接口

public class HelloWorldBean implements HelloWorld {

 

@Override

public String say(String name) {

return name+":说,您好";

}

 

}

 

EJBClient1.java

package cn.cmcc.test;

 

import java.util.Properties;

 

import javax.naming.InitialContext;

import javax.naming.NamingException;

 

import cn.cmcc.ejb3.HelloWorld;

 

public class EJBClient1 {

 

public static void main(String[] args) {

Properties props = new Properties();

//JBoss应用服务器的上下文信息

props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");

props.setProperty("java.naming.provider.url", "localhost:1099");

//Sun应用服务器的上下文信息

//props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");

//props.setProperty("java.naming.provider.url", "localhost:3700");

 

try {

InitialContext ctx = new InitialContext(props);

HelloWorld helloworld = (HelloWorld) ctx

.lookup("HelloWorldBean/remote");

System.out.println(helloworld.say("佛山"));

} catch (NamingException e) {

System.out.println(e.getMessage());

}

}

}

 

EJBClient2.java

package cn.cmcc.test;

 

import javax.naming.InitialContext;

import javax.naming.NamingException;

 

import cn.cmcc.ejb3.HelloWorld;

 

public class EJBClient2 {

 

public static void main(String[] args) {

try {

//默认是去classpath下寻找jndi.properties文件

InitialContext ctx = new InitialContext();

HelloWorld helloworld = (HelloWorld) ctx

.lookup("HelloWorldBean/remote");

System.out.println(helloworld.say("佛山"));

} catch (NamingException e) {

System.out.println(e.getMessage());

}

}

}

jndi.properties

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory

java.naming.provider.url=localhost:1099

 

 

 

 

分享到:
评论

相关推荐

    EJB3开发第一个无状态会话bean

    **EJB3 开发第一个无状态会话 Bean 知识详解** 无状态会话 Bean(Stateless Session Bean)是企业级 Java(EJB)3.0 中的核心组件,主要用于实现业务逻辑,它不保存任何特定客户端的状态信息。本篇文章将深入讲解...

    EJB3 示例有状态和无状态会话bean

    这个简单的示例展示了如何创建一个无状态会话Bean并从`Test.jsp`页面中调用它的方法。在实际项目中,`Test.jsp`可能会包含更复杂的逻辑来测试bean的各种功能。 总之,EJB3的有状态和无状态会话Bean提供了灵活的业务...

    实战EJB之三 开发会话Bean(有状态会话Bean).doc

    购物车是一个典型的有状态会话Bean的示例,当一个客户第一次打开购物车时,系统为他分配一个购物车的会话Bean,在以后,每当客户选购了商品将改变购物车的商品记录,而这些记录数据将保存到用户会话数据中。...

    无状态会话Bean实验指导.doc

    【无状态会话Bean实验指导】的文档主要涵盖了如何开发和测试无状态Session Bean的步骤,这是企业级JavaBeans(EJB)技术的一部分,属于中间件领域的知识。EJB是Java平台上的一个标准,用于构建可扩展、可靠的分布式...

    ejb3.0 第2,3讲-开发第一个无状态会话bean和客户端

    在ejb3.0中,开发无状态会话Bean和客户端变得更为直观和简洁,这主要归功于注解的引入和JNDI查找的简化。这种改进使得Java EE应用的开发更加高效,降低了学习曲线,促进了企业级应用的普及。通过以上步骤,你可以...

    实验一 开发环境安装、配置及无状态会话Bean的创建

    1. 新建一个 EJB 项目,并在该项目中创建一个具有远程接口的 EJB3 无状态会话 Bean,实现两数相加,并返回和之功能,参考代码如下: 业务接口: 会话 Bean 类: 2. 将%JBOSS_HOME%\bin\client 目录下的 jboss-client...

    关于有状态和无状态会话bean的解释

    这意味着,如果同一个客户端多次调用同一个无状态会话Bean,可能会得到不同的实例,导致之前的会话信息丢失。这种设计模式适用于那些不需要保持客户端上下文信息的情况,例如执行计算任务或访问数据库。 无状态会话...

    Bean开发实例之二有状态会话Bean开发实例

    本文档将详细介绍如何使用Java Business Components (JBX) 和 WebLogic Server (WLS) 开发一个有状态会话Bean(Stateful Session Bean)的具体实例。在这个实例中,我们将构建一个模拟在线购物车的功能,该购物车...

    Jboss下开发ejb应用之一会话bean的应用

    - 创建无状态会话Bean时,需要定义一个接口(Local或Remote),并实现该接口的类。接口定义了业务方法,实现类提供了具体实现。 2. **有状态会话Bean**: - 有状态会话Bean保存了客户端的会话状态,可以跟踪多个...

    Eclipse+Jboss EJB技术 会话Bean

    在这个实验中,我们可能会使用无状态会话Bean,因为对于简单的“Hello, World”示例,不需要维持状态。 接下来,客户端(HelloWorldEJBClient)将通过JNDI(Java Naming and Directory Interface)查找并访问这个...

    实验6-无状态会话bean.docx

    【实验6-无状态会话bean】是关于Java企业级应用开发的一个实践环节,主要涉及的是EJB(Enterprise JavaBeans)中的无状态会话bean。无状态会话bean是一种服务器端组件,它不保存任何会话状态信息,每次调用都是独立...

    实验6-无状态会话bean.pdf

    【实验6-无状态会话bean】主要涉及的是Java企业级应用开发中的核心概念——无状态会话Bean(Stateless Session Bean),这是Java EE(Java Platform, Enterprise Edition)规范中的重要组成部分,主要用于处理业务...

    使用JBoss 4.2书写EJB3.0无状态会话Bean + JPA + MySql 5.0的Hello World Java EE应用

    环境:Window XP profession, JDK 1.6, MySQL 5.0, JBoss...该示例使用EJB 3.0的无状态会话Bean呼叫JPA持久层完成数据库的操作,推荐广大企业级Java程序员项目中使用。 注意:连接池的配置参见上一个资源readme.txt文档

    ejb有状态bean和无状态bean

    EJB主要分为三种类型:无状态会话Bean(Stateless Session Beans)、有状态会话Bean(Stateful Session Beans)以及实体Bean(Entity Beans)。本篇将深入探讨有状态Bean和无状态Bean的概念、区别以及它们的应用场景...

    PAS(Primeton Application Server)企业版EJB开发案例分析:有状态/无状态会话Bean与CMP/BMP实体Bean

    主要包括有状态会话Bean (Stateful Session Bean) 和无状态会话Bean (Stateless Session Bean),以及容器管理持久化实体Bean (CMP Entity Bean) 和Bean管理持久化实体Bean (BMP Entity Bean) 的开发过程。...

    EJB 会话BEAN PPT

    1. **无状态会话Bean**:无状态会话Bean不会持久保存任何客户端特定的信息,每次调用都独立,适合执行一次性、无关联的操作。例如,它们可以用于计算或验证不依赖于用户会话状态的业务逻辑。 2. **有状态会话Bean**...

    JavaEE5网络鲜花店(有状态会话Bean)

    【JavaEE5网络鲜花店(有状态会话Bean)】是一个基于Java企业版5(JavaEE5)技术栈开发的在线商店应用,专注于鲜花销售。该应用的核心特点是使用了有状态会话Bean来实现购物车功能,这在分布式环境中尤其重要,因为它...

    EJB 3.0无状态会话Bean应用

    该示例使用Eclipse 3.3 Europa IDE、JDK 6.0、GlassFish 2.0翻写的第一个EJB 3.0会话bean应用。注意:必须首先安装GlassFish服务器,可以通过安装NetBean 6.0(M9)来完成安装该服务器,或能单独安装也行,然后在...

Global site tag (gtag.js) - Google Analytics