用Eclipse开发EJB需要用到EJB的类库,我用的是JBoss作服务器,因此可以把JBoss下的client文件夹下的所有jar文件加到项目路径中
,就可以
了。
接下来编写一个无状态会话Bean,代码如下:
package com.taoistwar.ejb;
public interface HelloWorld {
public String sayHello(String name);
}
以上定义了一个接口,名字是HelloWorld,有一个方法sayHello(String name)。
package com.taoistwar.ejb.impl;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import com.taoistwar.ejb.HelloWorld;
@Stateless
@Remote(HelloWorld.class)
public class HelloWorldBean implements HelloWorld {
@Override
public String sayHello(String name) {
return name + "说:你好世界!";
}
}
在上面的代码中,用@Stateless的Java注解来定义了HelloWorldBean为无状态会话Bean.用Remote(HelloWorld.class)的Java注解定义了远程接口为HelloWorld.class,不写的话默认的是本地接口?
启动JBoss,把以上类打包,复制到JBoss下的%jboss_home%/server/default/deploy下,发布EJB应用。成功则出现如下信息:
20:31:01,093 INFO [Ejb3DependenciesDeployer] Encountered deployment AbstractVFS
DeploymentContext@27360696{vfszip:/D:/software/jboss-5.0.0.GA/server/default/dep
loy/ejb.jar}
20:31:01,109 INFO [Ejb3DependenciesDeployer] Encountered deployment AbstractVFS
DeploymentContext@27360696{vfszip:/D:/software/jboss-5.0.0.GA/server/default/dep
loy/ejb.jar}
20:31:02,062 INFO [JBossASKernel] Created KernelDeployment for: ejb.jar
20:31:02,062 INFO [JBossASKernel] installing bean: jboss.j2ee:jar=ejb.jar,name=
HelloWorldBean,service=EJB3
20:31:02,078 INFO [JBossASKernel] with dependencies:
20:31:02,078 INFO [JBossASKernel] and demands:
20:31:02,078 INFO [JBossASKernel] jboss.ejb:service=EJBTimerService
20:31:02,078 INFO [JBossASKernel] and supplies:
20:31:02,078 INFO [JBossASKernel] jndi:HelloWorldBean/remote-com.taoistwar
.ejb.HelloWorld
20:31:02,078 INFO [JBossASKernel] Class:com.taoistwar.ejb.HelloWorld
20:31:02,078 INFO [JBossASKernel] jndi:HelloWorldBean/remote
20:31:02,078 INFO [JBossASKernel] Added bean(jboss.j2ee:jar=ejb.jar,name=HelloW
orldBean,service=EJB3) to KernelDeployment of: ejb.jar
20:31:02,468 INFO [SessionSpecContainer] Starting jboss.j2ee:jar=ejb.jar,name=H
elloWorldBean,service=EJB3
20:31:02,500 INFO [EJBContainer] STARTED EJB: com.taoistwar.ejb.impl.HelloWorld
Bean ejbName: HelloWorldBean
20:31:02,609 INFO [JndiSessionRegistrarBase] Binding the following Entries in G
lobal JNDI:
HelloWorldBean/remote - EJB3.x Default Remote Business Interface
HelloWorldBean/remote-com.taoistwar.ejb.HelloWorld - EJB3.x Remote Busin
ess Interface |
注:上面的时间根据发布的时间不同,会有所区别
分享到:
相关推荐
HelloWorld helloworld = (HelloWorld) ctx.lookup("HelloWorldBean/remote"); out.println(helloworld.SayHello("佛山人")); 5.用ant或eclipse,把客户端文件打成war包,发布到jboss上 6.输入...
**EJB3.0之HelloWorld** EJB(Enterprise JavaBeans)是Java平台企业版(Java EE)的一部分,主要用于构建可扩展、可移植和可信赖的企业级应用。EJB3.0是EJB规范的一个重要版本,它在之前的基础上进行了重大改进,...
在"一个完整的Helloworld"示例中,通常会创建一个简单的Stateless Session Bean,实现一个返回“Hello, World!”的业务方法。客户端通过查找Bean的Home Interface并调用其`create()`方法获取Bean实例,然后调用...
**EJB3 Maven HelloWorld项目详解** 企业级JavaBean(Enterprise JavaBeans,简称EJB)是Java平台上用于构建可部署在服务器端的企业级应用的核心技术之一。EJB3是EJB规范的一个重要版本,它极大地简化了开发过程,...
在本示例中,我们探讨的是一个简单的EJB2.0 HelloWorld程序,主要涉及EJB的三个核心部分:Bean类、组件接口和Home接口,以及配置文件ejb-jar.xml。 1. **Bean类**: Bean类是EJB的核心,它实现了业务逻辑。在这个...
创建一个简单的EJB HelloWorld案例,我们需要以下步骤: 1. **创建EJB项目**:首先,我们需要一个支持Java EE的开发环境,如Eclipse或NetBeans,然后创建一个新的Java EE项目,并添加EJB模块。 2. **定义Bean类**...
在查看`com.ejb.helloworld.client`和`com.ejb.helloworld`的源码时,你可以关注以下几个点: - Bean类的注解,如`@Remote`或`@Local`接口定义。 - Bean的实现方法,它们包含了业务逻辑。 - 客户端如何查找和...
通过"HelloWorld1"的学习,开发者可以了解JavaEE的基本开发环境和流程,为进一步学习JavaEE的其他高级特性,如JPA(Java Persistence API)、JSF(JavaServer Faces)、CDI(Contexts and Dependency Injection)...
初学ejb,一个入门例子。 两个project,一个为ejb,一为客户端。 软件版本:jboss-4.2.3.GA,Jdk1.6.0,myeclipse 10.0 部署ejb后,客户端导入jboss的client下的所有jar包。
return "hello world!"; } } ``` 以上代码定义了一个简单的Session Bean,实现了`SessionBean`接口,并包含了一些基本的方法实现。 ##### (c) 用Eclipse XDoclet生成相应的接口 为了方便地生成所需的接口和实现...
### MyEclipse+EJB3+JBoss4部署EJB+Web项目HelloWorld详解 #### 一、环境搭建 ##### 1. 安装 JDK 1.6 在开始之前,请确保您的开发环境中已经安装了 Java 开发工具包 (JDK) 1.6 版本。如果尚未安装,请访问 Oracle ...
FirstEjb helloWorld = (FirstEjb) ctx.lookup("java:global/MyTestEjb/TestEjb/FirstBean!com.ejb.FirstEjb"); out.println(helloWorld.hello()); } catch (NamingException e) { out.println(e.getMessage());...
Object obj = context.lookup("ejb:" + appName + "/" + moduleName + "/" + distinctName + "/HelloWorld!com.ejb.HelloWorldRemote"); HelloWorldRemote hwr = (HelloWorldRemote)obj; String say = hwr.sayHello...
return "Hello, World!"; } } ``` 在这个例子中,`EJBHelloWorldBean` 实现了 `EJBHelloWorldRemote` 接口,并被标记为一个无状态会话bean。 **3. 客户端应用程序(Client Application)** 客户端应用程序是调用...
在EJB3.0的第一个"Hello, World"项目中,我们将学习如何创建和配置一个简单的EJB组件。首先,我们需要了解EJB的基本概念。EJB分为三种类型:会话bean(Session Beans)、实体bean(Entity Beans)和消息驱动bean...
return "Hello, World!"; } } ``` 这个例子展示了如何使用`@Stateless`注解创建一个无状态会话bean,其`sayHello()`方法可以被客户端调用。 ### 6. 结合EXTJS EXTJS是一个流行的JavaScript库,用于构建富客户端...
Java EJB简单例子,这是HelloWorldBean的Home接口,... HelloWorld hello= home.create(); //调用EJB对象方法printHelloWorld(),EJB对象把调用委派给Bean System.out.println (hello.printHelloWorld()); }
HelloWorld helloworld = (HelloWorld) ctx.lookup("HelloWorldBean/remote"); ``` 这里,`ctx.lookup()`方法用于根据EJB的JNDI名称查找并实例化EJB。由于在同一个JVM内,无需显式设置`InitialContext`的环境属性...