simple ejb3
服务端 发布到Jboss AS 7.1.1 Final版本中
把下面的服务器端的导出为myejb3.jar
拷贝到/jboss/standalone/deployments 目录下,
在/jboss/bin 目录下, 找到standalone.bat 文件 ,并双击启动 jboss。
代码如下:
接口 HelloWorld
1 package com.ouyang.ejb3; 2 3 public interface HelloWorld { 4 5 public String sayHello(String name); 6 }
实现类:HelloWorldBean
1 package com.ouyang.ejb3; 2 3 import javax.ejb.Remote; 4 import javax.ejb.Stateless; 5 6 @Stateless 7 @Remote({HelloWorld.class}) 8 public class HelloWorldBean implements HelloWorld { 9 10 @Override 11 public String sayHello(String name) { 12 return name+"say:hello! World,this is my first EJB3."; 13 } 14 }
新建一个客户端Web项目,使用tomcat发布
index.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 <%@ page import="java.util.*,javax.naming.*,com.ouyang.ejb3.HelloWorld"%> 3 <% 4 final Hashtable<String, String> jndiProperties = new Hashtable<String, String>(); 5 jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming"); 6 final Context context = new InitialContext(jndiProperties); 7 final String appName = ""; //这里是.EAR包的名称,如果你打包成JAR发布的话,这里则留空 8 final String moduleName = "myejb3"; //这里是你发布的JAR文件名,如helloworld.jar,则这里应该为helloworld。去掉后缀即可 9 final String distinctName = ""; //如果没有定义其更详细的名称,则这里留空 10 final String beanName = "HelloWorldBean"; //这里为实现类的名称 11 final String viewClassName = HelloWorld.class.getName(); //这里为你的接口名称 12 try { 13 HelloWorld hw = (HelloWorld) context.lookup("ejb:" + appName + "/" + moduleName + "/" + distinctName + "/" + beanName + "!" + viewClassName); 14 System.out.println(hw.sayHello("hello ejb3")); 15 }catch(NamingException e) { 16 e.printStackTrace(); 17 } 18 %>