`

complete working ejb3 helloworld session bean jbos

    博客分类:
  • EJB3
阅读更多

下面是一个完整的EJB3 session bean的 HelloWorld 例子,环境:Eclipse +JBoss

 

1.Download

 i downloaded jboss 4.2.2.GA and extracted it here:
C:\Program Files\jboss

2. start eclipse

3. install jbosstools
help > software updates > find and install > search for new features to install > new remote site:
name: jboss
url: http://download.jboss.org/jbosside/updates/stable

put a check mark next to "jboss" > Finish
install all the jboss stuff
restart eclipse

4. create a new ejb3 project
file > new > Project (the white icon , NOT the purple one) > EJB > EJB Project
next

Project name: MyFirstEJBProject
Target runtime: JBoss 4.2 runtime
Configurations: Default
finish

5. create EJB3 session bean
highlight MyFirstEJBProject in the project explorer
(rightclick) > new > other > EJB > EJB3 Session Bean
next

bean package: myejb3test
bean name: EJB3HelloWorld
finish

6. configure the project environment
highlight MyFirstEJBProject in the project explorer
(rightclick) > properties:

java build path > libraries > jre system library:
make sure this is an updated version of the java jre (i think you need java 5+, i am using jre1.6.0_6)

server > choose JBoss 4.2 server > apply
If it is not in the list of servers then just set up a new server:
close that properties window
file > new > other > server > server
next
JBoss, a division of Red Hat > JBoss AS, 4.2
next
available projects: highlight MyFirstEJBProject and then push the Add button to add it to Configured Projects
finish

7. write your bean code
expand the ejbModule folder > expand the myejb3test folder:

open EJB3HelloWorld.java
paste in this code:

package myejb3test;

import javax.ejb.Remote;

@Remote
public interface EJB3HelloWorld {
    public void sayHello(String text);
}

 open EJB3HelloWorldBean.java
paste in this code:

package myejb3test;

import javax.ejb.Stateless;
import myejb3test.EJB3HelloWorld;

public @Stateless class EJB3HelloWorldBean implements EJB3HelloWorld {
    public void sayHello(String hello) {
        System.out.println(hello);
    }
}

 right click myejb3test in the project explorer > new > class
name: EJB3HelloWorldClient
put a check mark by public static void main(String[] args)
finish

open EJB3HelloWorldClient.java
paste in this code:

package myejb3test;

import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

public class EJB3HelloWorldClient {

    public static void main(String[] args) {
        Properties props = new Properties();
        props.put("java.naming.factory.initial", "org.jboss.naming.HttpNamingContextFactory" );
        props.put("java.naming.provider.url", "http://localhost:8080/invoker/JNDIFactory");
        props.put("java.naming.factory.url.pkgs", "org.jboss.naming");
        
        try {
            Context context = new InitialContext(props);
            System.out.println("Looking up HelloWorld");
            try {
                EJB3HelloWorld helloWorld = (EJB3HelloWorld)context.lookup("EJB3HelloWorldBean/remote");
                helloWorld.sayHello("Hello world");
            } catch (NamingException e) {
                System.out.println("couldnt look it up");
                e.printStackTrace();
            }
        } catch (NamingException e) {
            System.out.println("naming exception");
            e.printStackTrace();
        } 
    }
}

 8. start the jboss server
in the Servers tab at the bottom of eclipse, right click the JBoss 4.2 Server > start
wait for it to start up

9. run your code =)
right click somewhere in the EJB3HelloWorldClient.java file > run as > java application

分享到:
评论
1 楼 jlcon 2009-06-20  
这是旧式的jndi调用,有元注解方式的吗?

相关推荐

    EJB3.0无状态SessionBean例子

    在示例中,`EJB-HelloWorld`可能包含了名为`HelloWorldLocal`的本地接口,其中定义了业务方法,如`sayHello()`。然后,在Bean类中,通过`@Local`注解声明这个接口,并实现其方法。 4. **远程接口的SessionBean** ...

    EJB3图文教程之开发Session Bean

    ### EJB3图文教程之开发Session Bean:详细解析与实践指南 #### 一、环境搭建:JBuilder2007与JBoss4.0的完美结合 在开始EJB3.0的Session Bean开发之前,首先需搭建一个适宜的开发环境。本教程将指导你如何在...

    EJB3.0开发Session Bean.rar

    **企业级JavaBeans (EJB) 3.0:核心概念与Session Bean详解** 企业级JavaBeans(Enterprise JavaBeans,简称EJB)是Java平台上用于构建可部署在服务器端的企业级应用的重要组件模型。EJB 3.0是EJB规范的一个重大...

    EJB详解 sessionbean entitybean MDB

    它可以是无状态的(Stateless Session Bean),为每个请求创建新的实例,或者有状态的(Stateful Session Bean),维护与特定客户端会话的状态。 - **Entity Bean**:用于表示数据库中的持久化对象,实现业务实体的...

    ejb实例包括session bean和实体bean

    3. **Entity Beans 3.0(EJB 3.0引入)**:简化了Entity Bean的使用,采用了注解(Annotations)方式,使得持久化过程更为简洁,与JPA(Java Persistence API)紧密集成。 **EJB的生命周期** 无论是Session Bean...

    ejb_helloworld

    在本示例中,我们探讨的是一个简单的EJB2.0 HelloWorld程序,主要涉及EJB的三个核心部分:Bean类、组件接口和Home接口,以及配置文件ejb-jar.xml。 1. **Bean类**: Bean类是EJB的核心,它实现了业务逻辑。在这个...

    EJB的开发及应用,Session Bean的开发

    3. **部署描述符** - 编写ejb-jar.xml文件,其中包含关于EJB的元数据,如Bean的类型、JNDI名称等。 4. **容器配置** - 在应用服务器中配置EJB容器,指定EJB的部署位置和资源。 5. **客户端调用** - 客户端通过JNDI...

    ejb入门录像 sessionBean

    【ejb入门录像 sessionBean】是针对企业级Java应用(Enterprise JavaBeans,简称EJB)技术的初学者设计的一段教学视频。EJB是Java EE(Java Platform, Enterprise Edition)框架的重要组成部分,它提供了一种标准的...

    ejb sessionbean demo

    在EJB 3.x中,无状态Session Bean的实现相当简单,只需要通过注解`@Stateless`标记类,并提供公共方法作为远程接口。 2. **有状态Session Bean**:对于需要保持客户端状态的应用,如购物车服务,有状态Session Bean...

    EJB2 SessionBean

    **EJB2 SessionBean**是Java企业版...尽管现代Java EE(现称为Jakarta EE)已经发展到了EJB3.x和更高级别,但理解EJB2 SessionBean的基本概念和工作原理对理解整个企业级应用开发的历史和演进仍然是非常有价值的。

    EJB3.0开发Session Bean

    2. **命名项目**:例如,命名为“EJB3Demo”。 3. **选择EJB版本**:确保EJB Module选择3.0,Java版本选择5.0。 4. **完成创建**:点击“Finish”按钮,JBuilder将自动打开建模透视图。 #### 开发SessionBean 1. *...

    EJB3 maven helloworld项目

    总结起来,"EJB3 Maven HelloWorld"项目是一个很好的学习起点,它涵盖了EJB3基本概念,如无状态会话Bean、接口定义、注解驱动开发,以及Maven的项目管理和部署功能。通过这个项目,初学者可以快速理解和实践EJB3和...

    ejb3实例(包括sessionbean和entitybean)

    在ejb3实例中,myejb这个压缩包可能包含了以下文件: 1. SessionBean类:包含@Stateless或@Stateful注解的Java类,表示业务逻辑。 2. EntityBean类:带有@Entity注解的Java类,对应数据库表的实体。 3. 数据源配置...

    基于java的开发源码-EJB中有、无状态SessionBean的两个例子.zip

    基于java的开发源码-EJB中有、无状态SessionBean的两个例子.zip 基于java的开发源码-EJB中有、无状态SessionBean的两个例子.zip 基于java的开发源码-EJB中有、无状态SessionBean的两个例子.zip 基于java的开发源码-...

    EJB_sessionbean.rar_session

    **EJB Session Bean详解** Enterprise JavaBeans (EJB) 是Java平台企业版(Java EE)的核心组成部分,它为构建可扩展、安全且事务处理的分布式应用程序提供了强大的框架。EJB中的Session Bean是其中一类重要的组件...

    EJB HelloWorld

    HelloWorld helloworld = (HelloWorld) ctx.lookup("HelloWorldBean/remote"); out.println(helloworld.SayHello("佛山人")); 5.用ant或eclipse,把客户端文件打成war包,发布到jboss上 6.输入...

    1.EJB的HelloWorld!

    EJB(Enterprise JavaBeans...总的来说,EJB的HelloWorld教程是一个基础教程,涵盖了如何创建、部署和使用基本的无状态会话bean。通过这个简单的例子,开发者可以了解EJB的工作原理,并为更复杂的企业级应用打下基础。

    学习SessionBean

    SessionBean是Java EE(Enterprise Edition)中企业级JavaBeans(EJB)的一部分,主要用于实现服务器端的业务逻辑。它是一个可复用的组件,可以处理客户端的会话状态,提供了在分布式环境中持久化用户会话的能力。本...

Global site tag (gtag.js) - Google Analytics