EJB小例

在此特别感谢:sql技术群主 ☆蓝蓝心情★
谢谢在中午远程教我 EJB
原理参考:EJB原理学习_RMIC
这可能是我第一个EJB 和大家分享:
环境:jboss+ejb+jdk5.0


需要jar包
注:Client中 Test.jar 就是 EJBTest(服务器打的包)



EJB组件:
接口

package  org.test;

import  javax.ejb.Remote;

//在我的EJB原理中介绍
//是可以被
rmic 的接口
@Remote
public   interface  IHello {
    
public  String sayHello(String name);
}


实现类

package  org.test;

import  javax.ejb.Stateless;

import  org.jboss.annotation.ejb.RemoteBinding;

@Stateless
//设置远程JNDI名字(设置远程JNDI名字,客户端在通过JNDI lookup的时候,用的就是这个名字)
//不同中间件的实现,默认JNDI名字是不一样的,所以不一定是***/Remote或***/Local
//RemoteBinding是 jboss特有的
@RemoteBinding(jndiBinding
= " MclarenEJB " )
public   class  Hello  implements  IHello {
    
public  String sayHello(String name) {
        
return   " Hello  " + name;
    }
}


jdk编辑+打包成jar后热部署到%JBOSS_HOME%\server\default\deploy


客户端:

import  java.util.Properties;

import  javax.naming.Context;
import  javax.naming.InitialContext;

import  org.test.IHello;


public   class  Client {

    
public   static   void  main(String[] args) {
        
try  {
         Properties props  =   new  Properties();
         props.put(
" java.naming.factory.initial " " org.jnp.interfaces.NamingContextFactory " );
         props.put(
" java.naming.provider.url " " jnp://localhost:1099 " );
         props.put(
" java.naming.factory.url.pkgs " " org.jboss.naming:org.jnp.interfaces " );

         Context context 
=   new  InitialContext(props);

         IHello h 
=  (IHello) context.lookup( " MclarenEJB " );
         System.out.println(h.sayHello(
" EJB 3.0 Test " ));
        } 
catch (Exception e) {
            e.printStackTrace();
        }
    }

}

结果是:
Hello EJB 3.0 Test




你可能感兴趣的:(EJB小例)