首页 > 代码库 > JBoss+Ant实现EJB无状态会话bean实例
JBoss+Ant实现EJB无状态会话bean实例
EJB分为session bean、entity bean、message-driven bean,session bean又分为无状态会话bean和有状态会话bean。
session bean负责与客户端交互,是编写业务逻辑的地方,在session bean中可以通过jdbc直接操作数据库,但大多数情况下都是通过entity bean来完成对数据库的操作的。
平常,我们使用最多的是无状态bean,因为它的bean实例可供多个用户使用,所以它的性能比有状态bean高。正因为一个bean实例被多个用户使用。那么,前一个用户设置的值有可能被后一个用户所修改,所以它无法正确保存某个用户设置的值,因为是无状态的。下面用一个JBoss+Ant实现EJB无状态会话bean实例,帮助大家初步认识EJB。
1.创建一个普通的java项目,创建时引用jboss-4.2.3.GA\client目录下的所有jar包;
2.创建一个HelloWorld接口;
package cn.tgb.ejb3; public interface HelloWorld { public String sayHelloWorld(String name); }
3.创建一个实现HelloWorld接口的实现类;
package cn.tgb.ejb3.impl; import javax.ejb.Remote; import javax.ejb.Stateless; import cn.tgb.ejb3.HelloWorld; @Stateless @Remote(HelloWorld.class) public class HelloWorldBean implements HelloWorld { @Override public String sayHelloWorld(String name) { return name + "说:你好,世界!"; } }在HelloWorldBean类中,我们用注解Stateless注明当前类是无状态的,用注解Remote注明当前类对外提供的远程访问接口。
4.在项目的src目录下新建build.xml文件,用Ant管理项目的构建过程;
<?xml version="1.0" encoding="UTF-8"?> <project name="HelloWorld" basedir="."> <property name="src.dir" value=http://www.mamicode.com/"${basedir}/src" />> 5.在eclipse的Outline窗口选中deploy,右键run as Ant build,执行此操作后,Ant会在当前项目根目录和jboss-4.2.3.GA\server\default\deploy目录生成项目的jar文件;6.启动JBoss服务器;
7.在其它项目中通过JNDI调用EJB无状态会话bean提供的方法;
package com.tgb.test; import java.util.Properties; import javax.naming.InitialContext; import javax.naming.NamingException; import cn.tgb.ejb3.HelloWorld; public class EJBClient { public static void main(String[] args) { Properties props = new Properties(); props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); props.setProperty("java.naming.provider.url", "localhost:1099"); props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming"); try { InitialContext ctx = new InitialContext(props); HelloWorld helloworld = (HelloWorld) ctx.lookup("HelloWorldBean/remote"); System.out.println(helloworld.sayHelloWorld("北京")); } catch (NamingException e) { System.out.println(e.getMessage()); } } }到此,我们完成了EJB无状态会话bean的实例创建过程,希望能帮助大家进步。JBoss+Ant实现EJB无状态会话bean实例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。