注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

IOS & JAVA KEY

(iMilo)

 
 
 

日志

 
 
关于我

All the splendor in the world is not worth a good friend!! Hello my friend!!

网易考拉推荐

开发一个无状态的会话Bean{EJB3入门}  

2010-03-10 15:36:42|  分类: Ejb3 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

①     建立一个JAVA工程:名称HelloWorld(注意:导入JBOSS-HOME/client下的所有jar包)

②     建立一个接口:名称:HelloWorld.java 包为:com.teana.ejb3

代码如下:

package com.teana.ejb3;

/**

 * @author TEANA -- 2010-2-6

 * 第一个EJB接口

 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释

 */

public interface HelloWorld

{

         String sayHello(String name);

}

③     建立接口的实现,名称:HelloWorldBean.java包为:com.teana.ejb3.impl

代码如下:

package com.teana.ejb3.impl;

 

import javax.ejb.Remote;

import javax.ejb.Stateless;

 

import com.teana.ejb3.HelloWorld;

/**

 * @author TEANA -- 2010-2-6

 * 第一个EJB接口的实现类

 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释

 */

@Stateless

@Remote(HelloWorld.class)

public class HelloWorldBean implements HelloWorld

{

         public String sayHello(String name)

         {

                   return name + "说:你好,世界!";

         }

}

④     将JAVA工程HelloWorld打成JAR包(可以用ANT和Myeclipse开发工具完成)JAR包名称为:HelloWorld.jar;

⑤     将JAR包HelloWorld.jar部署到JBOSS中目录为:JBOSS-HOME/server/default/deploy;

⑥     启动JBOSS服务器,可以在启动日志中看到HelloWorld相关信息。

 

为上面的无状态会话Bean添加客户端访问

①     创建测试程序:名称为:Ejb3Test.java包为com.teana.test

代码如下:

package com.teana.test;

 

import java.io.IOException;

import java.io.InputStream;

import java.util.Properties;

 

import javax.naming.InitialContext;

import javax.naming.NamingException;

import com.teana.ejb3.HelloWorld;

/**

 * @author TEANA -- 2010-2-6

 * 第一个EJB测试类

 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释

 */

public class EJBTest

{

         public static void main(String[] args)

         {

         }

         //①硬编码

         public static void test1()

         {

                   Properties props = new Properties();

                   //JNDI连接工厂

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

                   //设置命名服务器的连接URL

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

                   InitialContext ict;

                   try

                   {

                            ict = new InitialContext(props);

                            HelloWorld helloWorld = (HelloWorld)ict.lookup("HelloWorldBean/remote");

                            System.out.println(helloWorld.sayHello("常德"));

                   }

                   catch (NamingException e)

                   {

                            e.printStackTrace();

                   }

         }

         //②指定属性文件

         public static void test2()

         {

                   Properties props = new Properties();

                   try

                   {

                            InputStream in = EJBTest.class.getClassLoader().getResourceAsStream("com/teana/test/jndi.properties");

                            props.load(in);

                            InitialContext ict = new InitialContext(props);

                            HelloWorld helloWorld = (HelloWorld)ict.lookup("HelloWorldBean/remote");

                            System.out.println(helloWorld.sayHello("常德"));

                            System.out.println(helloWorld.getClass().getName());

                   }

                   catch (NamingException e)

                   {

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

                   }

                   catch (IOException e)

                   {

                            e.printStackTrace();

                   }

         }

        

         //③指定属性文件为jndi.properties 并且将属性文件放置在SRC目录下

         public static void test3()

         {

                   try

                   {

                            InitialContext ict = new InitialContext();

                            HelloWorld helloWorld = (HelloWorld)ict.lookup("HelloWorldBean/remote");

                            System.out.println(helloWorld.sayHello("常德"));

                   }

                   catch (Exception e)

                   {

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

                   }

         }

}

创建属性文件,名称为:jndi.properties

代码如下:

#JNDI连接工厂

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

#设置命名服务器的连接URLjava.naming.provider.url=localhost:1099

  评论这张
 
阅读(474)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017