`
nenusoul
  • 浏览: 13425 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Eclipse4.2+Jboss7/Jboss-eap-6.0+EJB3.1分布式开发 最终篇

    博客分类:
  • EJB
阅读更多

最终篇(终于可以展示分布式调用了)

     经过我们的努力,现在我们马上就能见到Jboss7下面EJB的分布式开发和调用了。下面,我将讲解使用前对吼的配置。

  1. 打开我们的Client端Jboss Server的standalone.xml文件
  2. 添加security-realms,还记得我们第一篇里面在Server端配置的用户名和密码吗?就是下面这个<secret value="MTIzNDU2" />(base64 encoded),我们要把它配置到客户端里面

     
    <security-realms>
        ......
        <security-realm name="ejb-security-realm">
            <server-identities>
                <secret value="MTIzNDU2"/>
            </server-identities>
        </security-realm>
    </security-realms>
  3. 添加outbound-socket-binding在socket-binding-group下,这里的port就是你的Server端Jboss的Remote端口,默认是4447,还记得我们在第一篇中把它+2了吗,然后就2了。哈哈......
    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
    		......
        <outbound-socket-binding name="remote-ejb">
            <remote-destination host="localhost" port="4449"/>
        </outbound-socket-binding>
    </socket-binding-group>
  4. 下面就是<subsystem xmlns="urn:jboss:domain:remoting:1.1">了,添加我们的outbound-connections进去。
    <subsystem xmlns="urn:jboss:domain:remoting:1.1">
        <connector name="remoting-connector" socket-binding="remoting" security-realm="ApplicationRealm"/>
        <outbound-connections>
            <remote-outbound-connection name="remote-ejb-connection" outbound-socket-binding-ref="remote-ejb" username="ejbserver" security-realm="ejb-security-realm">
                <properties>
                    <property name="SASL_POLICY_NOANONYMOUS" value="false"/>
                    <property name="SSL_ENABLED" value="false"/>
                </properties>
            </remote-outbound-connection>
        </outbound-connections>
    </subsystem>
  5. 还差一个啦啦啦,jboss-ejb-client.xml,要放在EJBClient项目的WEB-INF文件下面
    <jboss-ejb-client xmlns="urn:jboss:ejb-client:1.0">
    	<client-context>
    		<ejb-receivers>
    			<remoting-ejb-receiver outbound-connection-ref="remote-ejb-connection"/>
    		</ejb-receivers>
    	</client-context>
    </jboss-ejb-client>
     
  6. 下面就是启动Server端的Jboss了,还有两点要注意的啊。-b 0.0.0.0和-Djboss.node.name=nodeone,要加到Jboss的启动参数里。Jboss默认的是-b 127.0.0.1这样他只能监听到Localhost过来的请求,即使你在本机使用本机IP进行请求都不行。-Djboss.node.name=nodeone是因为你在本机启动两台JbossServer,当Client端的Server注册Remote EJB Reciever的时候会因为server端已经用默认的node name注册了一个Local EJB Reciever而导致注册失败。当然你有两台电脑去做这个事情也就不用改node name了。
    -Djboss.node.name=nodeone -b 0.0.0.0
     
  7. 这一步可做可不做,Client端Server的启动参数加上-Djboss.node.name=nodetwo -b 0.0.0.0,因为已经把Server的默认node name改掉了,不会冲突了。如果你尝试电脑1(Server端),电脑2(Client端),电脑3启动浏览器访问EJBClient部署的Servlet,那么 -b 0.0.0.0就不能少了。
  8. 下面我们来试试吧,奥,想起来了。还要把Client端Server的<subsystem xmlns="urn:jboss:domain:logging:1.1">改一下,就是这句<level name="DEBUG"/>,当然这个是在standalone.xml文件下面,这样虽然会蹦出一大堆你看不懂的Log信息,但是这些log里面有一条对我们是有用的,看到这个就证明我们成功了。
    <subsystem xmlns="urn:jboss:domain:logging:1.1">
        ......
        <root-logger>
            <level name="DEBUG"/>
            <handlers>
                <handler name="CONSOLE"/>
                <handler name="FILE"/>
            </handlers>
        </root-logger>
    </subsystem>
     
  9. 先启动Server端的Jboss,然后启动Client端的Server。然后集中精神啊(其实你可以搜一下nodetwo),哈哈,找到下面这一句。如果你的Console设置的太小,可能被新的信息覆盖了,你可以调的大一点,或者去Jboss的log目录去看。
    14:28:37,385 INFO  [org.jboss.ejb.client.remoting] (MSC service thread 1-3) EJBCLIENT000013: Successful version handshake completed for receiver context EJBReceiverContext{clientContext=org.jboss.ejb.client.EJBClientContext@1c8dfe6, receiver=Remoting connection EJB receiver [connection=Remoting connection <163769>,channel=jboss.ejb,nodename=nodeone]} on channel Channel ID ce78e436 (outbound) of Remoting connection 00ea5d87 to 127.0.0.1/127.0.0.1:4449
  10. 好了,下面我们在浏览器中输入http://localhost:8080/EJBClient/TestRemoteEJB
  11. Client端Jboss的Console截图:

     Server端Jboss的Console截图:

     
  12. 好了大功告成。。。
  • 大小: 17.3 KB
  • 大小: 49.1 KB
  • 大小: 14.3 KB
分享到:
评论

相关推荐

    jboss7ejb配置文件

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

    JBossTools-ALL-win32-3.0.0.CR2

    JBossTools-ALL-win32-3.0.0.CR2 是一个专为Windows操作系统设计的集成开发环境(IDE)扩展包,它基于Eclipse平台,提供了丰富的工具集来支持JBoss相关技术的开发、部署和管理。这个版本是3.0.0的候选发布2(CR2),...

    jboss-eap-6.4.0.zip

    8. **Java 远程处理 EJB**:Enterprise JavaBeans (EJB) 是 Java EE 平台的核心部分,EAP 6.4 支持 EJB 3.1 规范,包括无状态会话 bean、有状态会话 bean、实体 bean 和消息驱动 bean 等。 9. **Web 服务支持**:...

    ejb-cluster-example:JBoss EJB 集群示例

    JBoss EJB 集群示例 安装 在域模式下运行干净的 JBoss EAP 6.3 ./jboss-eap-6.3/bin/domain.sh 运行安装脚本 ./jboss-eap-6.3/bin/jboss-cli.sh -c --file=setup.cli 在服务器上部署文件ejb-cluster.jar并分配给...

    jboss-eap-5.2.0.zip

    JBoss EAP(Enterprise Application Platform),是Red Hat公司开发的一款基于Java EE(现在称为Jakarta EE)的应用服务器,它为开发者提供了一个全面的框架来构建、部署和管理企业级应用程序。标题中的"jboss-eap-...

    jboss-eap-7.2.0-installer.jar

    JBoss支持EJB 1.1和EJB 2.0 EJB3.0的规范,它是一个管理EJB的容器和服务器。类似于Sun's J2SDK Enterprise Edition(J2EE),JBoss的目标是一个源代码开放的J2EE环境。但是JBoss核心服务仅是提供EJB服务器。JBoss不...

    jboss-eap-6.3.0软件和源码.zip

    JBoss EAP 6.3.0是一款基于Java的企业级应用服务器,由Red Hat公司开发并维护,是Java EE(企业版)平台的实现。它提供了全面的中间件服务,支持多种应用程序,如Web应用程序、SOA(面向服务的架构)、交易处理、...

    jboss-eap-6.2.0

    1. **Java EE 6支持**:JBoss EAP 6.2.0完全兼容Java EE 6规范,这意味着它可以支持诸如JavaServer Faces (JSF),Java Persistence API (JPA),Java Message Service (JMS)以及Enterprise JavaBeans (EJB)等关键组件...

    jboss-eap-6.3.0

    1. **Java EE 6支持**:JBoss EAP 6.3.0遵循Java Platform, Enterprise Edition (Java EE) 6标准,提供包括Servlet 3.0、JPA 2.0、EJB 3.1、JSF 2.1等在内的服务和API。 2. **模块化架构**:EAP 6.3引入了模块化...

    jboss-web-3.0.0-beta-2.zip_beta_jboss_jboss web 3.0_jboss-web

    3. **Java EE兼容性**:作为Java EE的一部分,JBoss Web支持EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JTA(Java Transaction API)等服务,为开发企业级应用提供了一个全面的框架。 4. **安全...

    jboss-4.2.3.GA_下的jboss-4.2.3.GA_下的

    JBoss AS 4.2.3.GA(Application Server)是Red Hat公司开发的一款开源Java应用服务器,它基于Java EE(Enterprise Edition)5规范,提供了全面的企业级服务,包括EJB(Enterprise JavaBeans)、JMS(Java Message ...

    jboss-3.2.5.zip

    本篇文章将详细讲解"jboss-3.2.5.zip"这一版本的JBoss安装、配置及EJBCA的安装和设置过程。 一、JBoss 3.2.5简介 JBoss 3.2.5是在2004年发布的一个版本,它是Java社区的重要里程碑,为开发者提供了轻量级、开源的...

    jboss-5.0.0.GA 官方正式版

    3. **增强的EJB3支持**:JBoss 5对Java Enterprise Edition 5中的EJB3规范进行了全面支持,提供了更简单的编程模型,减少了大量XML配置,使开发过程更为简便。 4. **Web服务支持**:通过JAX-WS和JAX-RS,JBoss 5...

    JBoss5配置相机

    这些可以在`$JBOSS_HOME/server/default/conf/jboss-service.xml`或`standalone.xml`(如果是JBoss EAP 7及以上版本)中修改。 6. **安全管理** JBoss AS 5支持角色基访问控制(RBAC)和用户认证。在`$JBOSS_HOME/...

    JBoss_Enterprise_Application_Platform-7.0

    JBoss Enterprise Application Platform (EAP) 7.0 是一个基于Java EE 7规范的开源应用服务器,由Red Hat公司开发并维护。这个版本在Java企业级开发领域中扮演着重要角色,因为它提供了全面的框架和服务,使得开发、...

    Jboss环境变量

    在使用JBoss进行EJB3.0开发时,正确的环境变量配置是确保应用程序能够正确部署和运行的基础。通过上述步骤,开发者可以确保JBoss能够在预期的环境下正确工作,并且能够充分利用其提供的各种服务和技术。 #### 五、...

    JBOSS开发人员指南

    【JBOSS开发人员指南】 在IT行业中,JBoss是一个非常重要的开源中间件,由Red Hat公司维护,主要用于实现企业级应用服务器的功能。本指南旨在为开发者提供全面、深入的JBoss开发知识,帮助他们更好地理解和运用这个...

    jboss7正式版

    为了开始使用JBoss EAP 7.0,你需要下载压缩包"jbosseap-7.0",解压后按照官方文档的指引进行安装和配置。首先,你需要设置环境变量,然后启动服务器,接着可以通过管理控制台或CLI部署你的应用。如果遇到问题,可以...

    jboss-jms包

    JBoss JMS(Java Message Service)是Red Hat公司开发的JMS实现,它是JBoss Application Server的一部分,提供了一个标准、可靠且面向消息的中间件服务。在分布式环境中,JMS作为异步通信的核心组件,允许应用程序...

    ejb_jboss.rar_ejb mysql_ejb_jboss_estoreW_java ejb jbo_jboss

    这是一个基于EJB(Enterprise JavaBeans)技术的项目,利用了JBuilder作为开发工具,JBoss应用服务器进行部署,以及MySQL数据库存储数据。这个项目名为"ejb_jboss_estoreW",推测是一个电子商务(e-store)平台的...

Global site tag (gtag.js) - Google Analytics