今天终于搞定了在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集群的朋友一点帮助
相关推荐
在JBoss 7及以上版本中,对EJB的配置过程相较于之前的版本有所变化,主要涉及到两个关键的配置文件:`jboss-ejb3.xml`和`ejb-jar.xml`。 `ejb-jar.xml`文件是EJB模块的标准配置文件,遵循Java EE规范。在这个文件中...
本教程《Jboss下EJB3实例教程》将详细讲解以上内容,并通过实际示例演示如何在Jboss环境中开发、部署和测试EJB3.0应用,对于想要掌握企业级Java开发的开发者来说是一份宝贵的资源。通过学习,你可以更好地理解EJB3.0...
jboss-ejb3-client.jar
jboss7下的ejb3开发的实例,从jboss官方文档中的代码示例中拷贝到本地工程中,亲测可用,附件是完整的工程。包括一个stateless session和一个stateful session,包括测试客户端。
总之,"JBoss下EJB3.0实例教程"旨在引导开发者理解EJB3.0在JBoss中的应用,通过实例学习如何创建、部署和使用EJB3.0 bean。结合"javaee-5_0-fr-spec.pdf",可以更全面地掌握EJB3.0的规范和实现细节,为构建高效的...
使用jboss开发一个ejb3.0实例视频教程,无声的,比较适合入门者
"MyEJBProject"很可能是用户提供的EJB3项目实例,可能包含了各种EJB组件,例如业务逻辑的Session Bean,持久化的Entity Bean,或者是处理JMS消息的Message-Driven Bean。这个项目的详细内容需要查看源代码才能...
使用jboss-4.2.2.GA+JbossIDE for eclipse+MyElipse5.0+JDK1.5做一个EJB3.0 的例子 所需要的文件
在本文中,我们将深入探讨如何使用JBOSS服务器与EJB3.0相结合,并结合MySQL数据库进行企业级应用开发。JBOSS是一个流行的开源Java应用服务器,它支持EJB(Enterprise JavaBeans)3.0规范,这是一个用于构建企业级...
**JBoss EJB3.0实例教程** JBoss EJB3.0实例教程是一本针对企业级Java开发者的宝贵资源,特别适合初学者入门。EJB(Enterprise JavaBeans)是JavaEE(Java Platform, Enterprise Edition)平台的核心组件之一,它为...
### 利用Myeclipse 6与JBoss开发EJB3入门实例详解 #### 一、概述 本文将详细介绍如何使用Myeclipse 6和JBoss来开发一个EJB3入门级的应用程序。通过本教程,您将学习到EJB3的基本概念、所需开发工具的配置、以及...
标题"jboss ejb 3.zip"和描述中的"jboss ejb 3.zip"都指向同一个主题,即JBoss企业级JavaBean(EJB)3.0版本的相关内容。JBoss是Red Hat公司的一个开源应用服务器,而EJB是Java平台上用于构建可扩展、分布式、安全和...
【ejb-jboss-web实例的workspace】是一个专用于开发和部署EJB(Enterprise JavaBeans)与Web应用程序的工作环境,基于JBoss应用服务器。这个工作空间集合了开发所需的各种组件、配置文件以及源代码,便于开发者进行...
ejb在jboss下的组件基础类,包含javax.ejb.Stateless等
jboss EJB 3.0 实例教程 (黎活明 著) (pdf书籍) 及 (代码).......
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....