EJB的简单使用
来源:互联网 发布:建筑设计效果图软件 编辑:程序博客网 时间:2024/06/15 19:39
package org.ejb3.inter;import javax.ejb.Remote;//指定HelloWorldBeanRemote是个远程接口.如果不加这个注解的话就是本地接口.@Remotepublic interface HelloWorldBeanRemote {public String sayHi(String name);}
package org.ejb3.inter;import javax.ejb.Local;//指定HelloWorldInter是个本地接口.继承远程接口@Localpublic interface HelloWorldBeanLocal extends HelloWorldBeanRemote {}
jndi.properties
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactoryjava.naming.provider.url=localhost\:1099
package org.ejb3.impls;import javax.ejb.Stateless;import org.ejb3.inter.HelloWorldBeanRemote;import org.ejb3.inter.HelloWorldBeanLocal;//指定这个EJB是个无状态的会话bean.@Statelesspublic class HelloWorldImpls implements HelloWorldBeanRemote,HelloWorldBeanLocal {@Overridepublic String sayHi(String name) {return name+"你好,世界!!";}}
Java SE项目时 打成jar包发布到%JBOSS_HOME%\server\default\deploy
<?xml version="1.0" encoding="UTF-8"?><!-- name:项目名称basedir:项目在build.xml所在的路径 --><project name="helloworld_ejb3" basedir="."><!-- name:项目源文件 value:项目源文件所在的路径.${basedir}是指project元素的basedir属性--><property name="src.dir" value="${basedir}\src"/><property environment="env"/><property name="jboss.home" value="${env.JBOSS_HOME}"/><property name="jboss.server.config" value="default"/><property name="build.dir" value="${basedir}\build"/> <path id="build.classpath"> <fileset dir="${jboss.home}\client"> <include name="*.jar"/> </fileset> <pathelement location="${build.dir}"/> </path> <target name="prepare" > <delete dir="${build.dir}"/> <mkdir dir="${build.dir}"/> </target> <target name="compile" depends="prepare" description="编译"> <javac srcdir="${src.dir}" destdir="${build.dir}"> <classpath refid="build.classpath"/> </javac> </target> <target name="ejbjar" depends="compile" description="创建ejb发布包"> <jar jarfile="${basedir}\${ant.project.name}.jar"> <fileset dir="${build.dir}"> <include name="**/*.class"/> </fileset> <!--把persistence.xml打包到META-INF目录下--> <!-- <metainf dir="${src.dir}\META-INF"></metainf> --> </jar> </target> <target name="deploy" depends="ejbjar" description="ejb发布"> <copy file="${basedir}\${ant.project.name}.jar" todir="${jboss.home}\server\${jboss.server.config}\deploy"/> </target> <target name="undeploy" description="卸载ejb"> <delete file="${jboss.home}\server\${jboss.server.config}\deploy\${ant.project.name}.jar"/> </target></project>
启动jboss服务器,编译-->创建EJB发布包-->发布EJB(-->卸载EJB)
package org.ejb3.test;import java.util.Properties;import javax.naming.InitialContext;import javax.naming.NamingException;import org.ejb3.inter.HelloWorldBeanRemote;import org.ejb3.inter.HelloWorldBeanLocal;public class EJBClient {public static void main(String[] args) {try {//当new InitialContext()时,底层会自动读取jndi.properties文件,设置上下文信息InitialContext ctx=new InitialContext();//ctx.lookup方法参数的规则://(1.)如果打包成后缀为*.ear的企业级应用文件:默认全局的JNDI名称为: //本地接口:EARFileBaseName(ear文件名)/EJBClassName(实现类)/local//远程接口:EARFileBaseName(ear文件名)/EJBClassName(实现类)/remote//(2.)如果打包成后缀为*.jar文件:默认全局的JNDI名称为: //本地接口:EJBClassName(实现类)/local//远程接口:EJBClassName(实现类)/remote//返回的是实现HelloWorldInter接口的代理对象.而并非在服务端的那个HelloWorldInter. //如果打成*.ear则为:helloworld/HelloWorldImpls/remote//这里调用的远程接口HelloWorldBeanRemote helloWorldBeanRemote = (HelloWorldBeanRemote)ctx.lookup("HelloWorldImpls/remote");System.out.println(helloWorldBeanRemote.sayHi("青岛说:"));} catch (NamingException e) {e.printStackTrace();}}}
- EJB的简单使用
- EJB的简单介绍和使用
- 简单EJB的例子
- Tech : EJB 简单的解释
- 一个简单的EJB例子!!
- 一个简单的EJB例子!!
- 开发一个简单的EJB
- 一个简单的EJB例子!!
- 开发一个简单的EJB
- 一个简单的EJB例子
- 【EJB基础】开发一个简单的EJB应用程序
- EJB-QL 的相关使用
- java.探索EJB的使用
- 用ant来打包简单的ejb(jboss)的总结 使用ant
- 使用eclipse通过jboss开发简单的ejb应用(jboss7.x & ejb3.x)
- 使用eclipse通过weblogic开发简单的ejb应用(weblogic 10.x & ejb3.x)
- 简单介绍javabean 和 ejb 的区别
- 简单介绍javabean 和 ejb 的区别
- [协议] POP3简单邮件传输协议
- Android音乐播放——MediaPlayer, unable to create media player
- 【进程线程与同步】5.4 System.Threading.Interlocked 为多个线程共享的变量提供原子操作
- 01-替换输入文本的空格和换行(字符串处理)
- HreoWinGauge2.0组件集应用示例----旋钮指针(2)
- EJB的简单使用
- andriod和linux的相关的技术博客
- Couchbase备份
- 程序零散笔记
- Ubuntu的软件源更新常见问题及解决
- Android Activity Life Cycle - What are all these methods for?
- redis aof
- TCP使用(二)多用户发送文件和登录
- BaiduBCS云存储——java SDK下载问题