快速业务通道

eclipse+JBoss 5+EJB3开发指南(1):编写第一个无状态的SessionBean - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
public class Greeting implements Serializable {     private int id;     private String name;     public int getId()     {         return id;     }     public void setId(int id)     {         this.id = id;     }     public String getName()     {         return name;     }     public void setName(String name)     {         this.name = name;     } }

要注意的是,由于Greeting类在实例将被传输到客户端,因此,该类需要实现java.io.Serializable 接口。

eclipse+JBoss 5+EJB3开发指南(1):编写第一个无状态的SessionBean(4)

时间:2011-09-18 blogjava 哈佛校训

下面来编写Session Bean,代码如下:

package service;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.Stateless;
import entity.Greeting;
@Stateless
public class GreeterBean implements Greeter
{
    @Override
    public List<Greeting> getAllGreetings()
    {
        
        List<Greeting> greetings = new ArrayList<Greeting>();
        Greeting greeting = new Greeting();
        greeting.setId(12);
        greeting.setName("bill gates");
        greetings.add(greeting);
        greeting = new Greeting();
        greeting.setId(334);
        greeting.setName("李宁");
        greetings.add(greeting);
        return greetings;
    }
    @Override
    public String greet(String message)
    {
        return "您好 " + message;
    }
}

eclipse+JBoss 5+EJB3开发指南(1):编写第一个无状态的SessionBean(5)

时间:2011-09-18 blogjava 哈佛校训

在上面的代码中使用了@Stateless注释将GreeterBean类定义为无状态的Session Bean。如果JBoss正 处于启动状态,并保存上面写的类和接口,Eclipse会自动将上面的代码编译,并生成jar文件,发布到 jboss的deploy目录中。该jar文件的目录结构如下:

MyEJB.jar
   entity\Greeting.class
   service\Greeter.class
   service\GreeterBean.class
   META-INF\MANIFEST.MF
   META-INF\jboss.xml

其中META-INF目录中的两个文件是Eclipse在建立EJB工程时自动生成的,我们不用去管它。读者也可 以手工去编译上面的接口和类,并使用jar命令生成jar文件。

三、编写客户端程序

由于本文使用了远程接口来访问Session Bean,因此,在访问时需要指定EJB所有的机器的IP地址。

package test;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import service.Greeter;
public class Client
{
    public static void main(String[] args) throws Exception
    {
        Properties prop = new Properties();
        // 设置相关的属性值
        prop.setProperty(Context.PROVIDER_URL, "192.168.17.105:1099");
        prop.setProperty(Context.INITIAL_CONTEXT_FACTORY, 

"org.jnp.interfaces.NamingContextFactory");
        InitialContext ctx = new InitialContext(prop);
        // 开始调用Greeter接口的方法
        Greeter greeter = (Greeter) ctx.lookup("GreeterBean/remote");
       

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号