使用Eclipse3.0+lomboz3.0+jboss3.2.3开发EJB(二)

来源:互联网 发布:淘宝树林名妆 假货 编辑:程序博客网 时间:2024/06/05 14:43
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

使用Eclipse3.0+lomboz3.0+jboss3.2.3开发EJB

姜进成

jjc@ykjt.cn

 

3.开发一个EJB

做了这么多准备工作,下面我们动手写一个例子HelloWorld,选择菜单file-new-other,弹出下面的对话框:

 

图5

选择Java-lomboz J2EE Wizards中选择lomboz J2EE Project,然后点击Next按钮:

图6

Project name中输入项目名称,然后点击Next按钮,

图7

在图7Librarles选项卡中点击 Add External JARs按钮,添加C:SunAppServerlibj2ee.jar,然后点击Next按钮,

图8

EJB Modules选项卡中点击Add按钮,增加一个EJB Module:HelloWorld,然后点击Targeted Servers,

 

图9

选择jboss 3.2.x服务器,点击Add按钮,最后点击Finish按钮,这时Package Explorer看上去像图10的样子。

图10

在项目名称HelloWorldProject上点击鼠标右键,在弹出的菜单中选择new,弹出图11对话框,

图11

选择lomboz EJB Creation Wizard,然后点击Next按钮,

图12

 Package输入com.test,Name输入HelloWorldEJB,EJB Type 选择Stateless Session EJB,然后点击Finish按钮,这时Package Explorer看上去像图13的样子

图13

HelloWorldEJBBean上点击鼠标右键,在弹出的菜单中选择lomboz J2EE,再选择Add EJB Method,弹出图14对话框,

图14

Method Signture中输入 public String helloWorld(),点击Finish按钮,在生成的代码中找到:

public String helloWorld(){

 return null;

}

修改为:

public String helloWorld(){

 return "Hello World!";

}

Package Explorer中的HelloWorldEJBBean点击鼠标右键,在弹出的菜单中选择lomboz J2EE,再选择Add EJB to Module,弹出图15对话框。

图15

选中EJB[HelloWorld],点击OK按钮。在Package Explorer中找到HelloWorld如图16所示:

16

       HelloWorld上点击鼠标右键,然后在弹出的菜单中选择lomboz J2EE,再选择Generate EJB Classes,如果没有出现错误,这是自动生成了一个EJBsrc文件夹,里面的文件也是自动生成的。

    再在HelloWorld上点击鼠标右键,在弹出的菜单中选择lomboz J2EE,再选择Deploy Module来部署EJB Module

   EJB Module部署完成后,下面我们做一个客户端来调用HelloWorld()方法。

   在文件菜单中选择New,再选择Other,在弹出的对话框如图11所示,选择lomboz EJB Test Client Wizard,按照图17所示,填写相应参数,

图 17

然后点击Finish按钮,生成HelloWorldClient.java文件,编辑这个文件,使代码看上去像下面的样子:

//HelloWorldClient.java

/*

 * Created on 2004-7-19

 *

 * TODO To change the template for this generated file go to

 * Window - Preferences - Java - Code Style - Code Templates

 */

package com.test;

 

import java.rmi.RemoteException;

import java.util.Hashtable;

 

import javax.EJB.CreateException;

import javax.naming.InitialContext;

import javax.naming.NamingException;

 

/**

 * @author Administrator

 *

 * TODO To change the template for this generated type comment go to

 * Window - Preferences - Java - Code Style - Code Templates

 */

public class HelloWorldClient {

 

    private com.test.HelloWorldEJBHome getHome() throws NamingException {

        return (com.test.HelloWorldEJBHome) getContext().lookup(

                com.test.HelloWorldEJBHome.JNDI_NAME);

    }

 

    private InitialContext getContext() throws NamingException {

        Hashtable props = new Hashtable();

 

        props.put(InitialContext.INITIAL_CONTEXT_FACTORY,

                "org.jnp.interfaces.NamingContextFactory");

        props.put(InitialContext.PROVIDER_URL, "jnp://127.0.0.1:1099");

 

        // This establishes the security for authorization/authentication

        // props.put(InitialContext.SECURITY_PRINCIPAL,"username");

        // props.put(InitialContext.SECURITY_CREDENTIALS,"password");

 

        InitialContext initialContext = new InitialContext(props);

        return initialContext;

    }

 

    public void testBean() {

 

        try {

            com.test.HelloWorldEJB myBean = getHome().create();

 

            //--------------------------------------

            //This is the place you make your calls.

            //System.out.println(myBean.callYourMethod());

            System.out.println(myBean.helloWorld());

        } catch (RemoteException e) {

            e.printStackTrace();

        } catch (CreateException e) {

            e.printStackTrace();

        } catch (NamingException e) {

            e.printStackTrace();

        }

    }

 

    public static void main(String[] args) {

        HelloWorldClient test = new HelloWorldClient();

        test.testBean();

 

    }

}

 

下面来运行这个程序,进入jboss的安装目录D:jboss-3.2.3in,运行run.bat来启动服务器,服务器启动完成后 ,在Package Explorer中找到HelloWorldClient.java,在其上面击鼠标右键,在弹出的菜单中选择中选择run,再选择Java Application,如果在控制台中输出Hello World!说明调用成功了,如果出现了异常,那么你需要再看一边这篇文章或者Email给我jjc@ykjt.cn。

还有一个问题,有人会问如何在命令提示符环境下运行客户端呢?

需要编写一个批处理文件runHelloWorldClient.bat

java -classpath "D:Eclipse3workspaceEJBProjectin;D: jboss-3.2.3clientconcurrent.jar;D:jboss-3.2.3clientgnu-regexp.jar;D:jboss-3.2.3clientjacorb.jar;D:jboss-3.2.3clientjbossall-client.jar;D:jboss-3.2.3clientjboss-client.jar;D:jboss-3.2.3clientjboss-common-client.jar;D:jboss-3.2.3clientjbossha-client.jar;D:jboss-3.2.3clientjboss-iiop-client.jar;D:jboss-3.2.3clientjboss-j2ee.jar;D:jboss-3.2.3clientjboss-jaas.jar;D:jboss-3.2.3clientjbossjmx-ant.jar;D:jboss-3.2.3clientjbossmq-client.jar;D:oss-3.2.3clientjbossmqha.jar;D:jboss-3.2.3clientjboss-net-client.jar;D:jboss-3.2.3clientjbosssx-client.jar;D:jboss-3.2.3clientjboss-system-client.jar;D:jboss-3.2.3clientjcert.jar;D:jboss-3.2.3clientjmx-connector-client-factory.jar;D:jboss-3.2.3clientjmx-EJB-connector-client.jar;D:jboss-3.2.3clientjmx-rmi-connector-client.jar;D:jboss-3.2.3clientjnet.jar;D:jboss-3.2.3clientjnp-client.jar;D:jboss-3.2.3clientjsse.jar;D:jboss-3.2.3clientlog4j.jar"  com.test.HelloWorldClient

把它放在D:Eclipse3workspaceHelloWorldProjectin目录(comest所在的目录),然后运行,或者将上面批处理中引号内的路径加到环境变量ClassPath中,然后运行

Java com.test.HelloWorldClient

也可以。

是不是很罗嗦,“下雨了,大家快去收衣服了” :)

 

 

 

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击