[转载]用JBOSS群集EJB3实例

2024-03-19 15:32
文章标签 实例 转载 ejb3 jboss 群集

本文主要是介绍[转载]用JBOSS群集EJB3实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文地址:  http://www.iteye.com/problems/8250

 

今天终于搞定了在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集群的朋友一点帮助

 

 

回复1:

 

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

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

这篇关于[转载]用JBOSS群集EJB3实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/826451

相关文章

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

Spring 中使用反射创建 Bean 实例的几种方式

《Spring中使用反射创建Bean实例的几种方式》文章介绍了在Spring框架中如何使用反射来创建Bean实例,包括使用Class.newInstance()、Constructor.newI... 目录1. 使用 Class.newInstance() (仅限无参构造函数):2. 使用 Construc

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

Spring中@Lazy注解的使用技巧与实例解析

《Spring中@Lazy注解的使用技巧与实例解析》@Lazy注解在Spring框架中用于延迟Bean的初始化,优化应用启动性能,它不仅适用于@Bean和@Component,还可以用于注入点,通过将... 目录一、@Lazy注解的作用(一)延迟Bean的初始化(二)与@Autowired结合使用二、实例解

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学