0 0

用JBOSS群集EJB3实例10

今天终于搞定了在JBOSS中群集EJB3中的无状态会话BEAN,心里总算松了一口2个月以来的长气,现在发出来给想无一样苦恼的人一个光明的大路

环境
MyEclipse5.5
JBoss4.2.0
测试目的:群集EJB3
首先我门先启动JBOSS.下面我用%JBOSS%来代替JBOSS的跟目录
在%JBOSS%\bin目录下先创建一个RUN.BAT的快捷方式然后,鼠标右击属性给新做的快捷方式加2个参数第1个参数是-C ALL 目的是让他启动ALL服务,第2个参数是-B 192.168.0.60都开出来了把是本机IP只有加了IP在可以让他被在局域内部被访问到.我做的是3台计算机的群集,所以3太机子上的JBOSS都的这么写注意写对IP.然后启动JBOSS OK环境就算OK了然后开始写EJB3
写远程接口


public interface HelloRemote extends Serializable {

public String getString(int i);

然后写本地接口

@Stateless
@Clustered     //EJB3群集的标签
@Remote(HelloRemote.class)
public class HelloRemoteService implements HelloRemote {

public String getString(int i) {
 
    System.out.println("我被执行了第"+i+"次");
 
 
   return null;
}

}

EJB写的很简单就是在服务器上打一句话而已,完了将EJB3打成JAR包部署到
%JBOSS%\server\all\farm目录下,注意在这个目录发布完后,其他机子上同时会响应及其他机子上也会发布完成这个JAR包.下面开始运行这个EJB,当然要重新在局域网内找一台机子做客户端调用.
首先在那台机子上将刚才的JAR包导入项目中完了写测试代码
Public class EJBFactory {
   
    public static Object getEJB(String jndipath) {
        try {
            Properties props = new Properties();
           
            props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
            props.setProperty("java.naming.provider.url", "192.168.0.149:1099,192.168.0.60,192.168.0.51:1099");
            props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
            props.setProperty("jnp.disableDiscovery", "true");
//        
//            props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");
//            props.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming");
//            props.setProperty("java.naming.provider.url", "192.168.0.251:3700");
//            props.setProperty("java.naming.factory.state", "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
//          
            InitialContext ctx = new InitialContext(props);
            return ctx.lookup(jndipath);
        } catch (NamingException e) {
            e.printStackTrace();
        }
        return null;
    }
}
看清楚我写了3个IP地址,这样做的好处是随便那个机子挂掉其他机子一样可以运行
测试代码

public class Test {
public static void main(String[] args) {

HelloRemote helloRemote =(HelloRemote)EJBFactory.getEJB("HelloRemoteService/remote");
for(int i=0;i<10;i++){
   helloRemote.getString(i);
}
}
}
运行测试代码我门可以发现在3台服务器上他会打印出结果.这是JBOSS自己的负载平衡功能帮助我门实现的,呵呵写完了,这简单的实现我郁闷了2个月,郁闷~~~呵呵希望能给研究EJB3集群的朋友一点帮助
2008年12月07日 19:38

1个答案 按时间排序 按投票排序

0 0

jndi.prop里面也可以这样写
jnp.partitionName=partitionName

这样,就不用指定固定IP了,只要是这个群集名的都可以进来

2008年12月07日 19:38

相关推荐

    jboss7ejb配置文件

    在JBoss 7及以上版本中,对EJB的配置过程相较于之前的版本有所变化,主要涉及到两个关键的配置文件:`jboss-ejb3.xml`和`ejb-jar.xml`。 `ejb-jar.xml`文件是EJB模块的标准配置文件,遵循Java EE规范。在这个文件中...

    Jboss下EJB3实例教程

    本教程《Jboss下EJB3实例教程》将详细讲解以上内容,并通过实际示例演示如何在Jboss环境中开发、部署和测试EJB3.0应用,对于想要掌握企业级Java开发的开发者来说是一份宝贵的资源。通过学习,你可以更好地理解EJB3.0...

    jboss-ejb3-client.jar

    jboss-ejb3-client.jar

    jboss7下ejb3实例

    jboss7下的ejb3开发的实例,从jboss官方文档中的代码示例中拷贝到本地工程中,亲测可用,附件是完整的工程。包括一个stateless session和一个stateful session,包括测试客户端。

    JBoss下EJB3.0实例教程(黎活明)

    总之,"JBoss下EJB3.0实例教程"旨在引导开发者理解EJB3.0在JBoss中的应用,通过实例学习如何创建、部署和使用EJB3.0 bean。结合"javaee-5_0-fr-spec.pdf",可以更全面地掌握EJB3.0的规范和实现细节,为构建高效的...

    jboss开发ejb3.0实例

    使用jboss开发一个ejb3.0实例视频教程,无声的,比较适合入门者

    jboss7 + EJB3

    "MyEJBProject"很可能是用户提供的EJB3项目实例,可能包含了各种EJB组件,例如业务逻辑的Session Bean,持久化的Entity Bean,或者是处理JMS消息的Message-Driven Bean。这个项目的详细内容需要查看源代码才能...

    jboss-ejb3x.jar

    使用jboss-4.2.2.GA+JbossIDE for eclipse+MyElipse5.0+JDK1.5做一个EJB3.0 的例子 所需要的文件

    JBOSS+EJB3+MYSQL开发

    在本文中,我们将深入探讨如何使用JBOSS服务器与EJB3.0相结合,并结合MySQL数据库进行企业级应用开发。JBOSS是一个流行的开源Java应用服务器,它支持EJB(Enterprise JavaBeans)3.0规范,这是一个用于构建企业级...

    JBoss EJB3.0实例教程

    **JBoss EJB3.0实例教程** JBoss EJB3.0实例教程是一本针对企业级Java开发者的宝贵资源,特别适合初学者入门。EJB(Enterprise JavaBeans)是JavaEE(Java Platform, Enterprise Edition)平台的核心组件之一,它为...

    利用Myeclipse6和jboss开发EJB3入门实例

    ### 利用Myeclipse 6与JBoss开发EJB3入门实例详解 #### 一、概述 本文将详细介绍如何使用Myeclipse 6和JBoss来开发一个EJB3入门级的应用程序。通过本教程,您将学习到EJB3的基本概念、所需开发工具的配置、以及...

    jboss ejb 3.zip

    标题"jboss ejb 3.zip"和描述中的"jboss ejb 3.zip"都指向同一个主题,即JBoss企业级JavaBean(EJB)3.0版本的相关内容。JBoss是Red Hat公司的一个开源应用服务器,而EJB是Java平台上用于构建可扩展、分布式、安全和...

    ejb-jboss-web实例的workspace

    【ejb-jboss-web实例的workspace】是一个专用于开发和部署EJB(Enterprise JavaBeans)与Web应用程序的工作环境,基于JBoss应用服务器。这个工作空间集合了开发所需的各种组件、配置文件以及源代码,便于开发者进行...

    jboss-ejb-api_3.1_spec.jar

    ejb在jboss下的组件基础类,包含javax.ejb.Stateless等

    jboss EJB 3.0 实例教程

    jboss EJB 3.0 实例教程 (黎活明 著) (pdf书籍) 及 (代码).......

    ejb3 and jboss 多本合一(three)

    ejb3 and jboss 多本合一(three) Using @Service annotation in eclipse JBoss中文文档.pdf JBOSS使用指南.doc JBOSS架构分析.doc JBOSS对EJB3_0的扩展 jbossgs4x.pdf JBoss-EJB3.0实例教程.pdf JBoss.in.Action....

Global site tag (gtag.js) - Google Analytics