wildfly 实践1 --分布式服务配置(服务端角)

Posted Coder_fang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wildfly 实践1 --分布式服务配置(服务端角)相关的知识,希望对你有一定的参考价值。

实践背景:基于wildfly开发分布式服务,包括web服务,DAS(数据访问服务)服务及其它业务服务,全部使用分布式方式开发与部署。

实践1:分布式服务(服务端角色)配置

  (转载请注明来源:cnblogs coder-fang)

  1. 此实践使用两台机器部署服务,一台部署web服务(客户端角色),一台为其它服务如DAS(服务端角色),TCP服务等。
  2. 两台机器全部使用wildfly9做为服务容器。
  3. web服务器:192.168.50.253(eclipse开发环境在此机器上) ,DAS服务器 192.168.50.123
  4. 在50.123机器上运行add-user.sh/add-user.bat,创建且Management User,账号jboss,密码123,此账号的目的是使得eclipse可以远程发布,再次运行add-user,创建Application User,这里设置的用户为ejbuser,密码为123,设置此账号目的是当远程客户端(web所在的wildefly)在访问此服务时需要提供连接的账号与密码,如果不使用分布式服务,所有服务在一台机器时可不增加此用户。
  5. 配置数据库,本例在50.123机器上安装mysql服务,并在数据库中添加测试数据库与数据表,本例使用的数据库如图所示:
  6. 配置50.123机器的standalone.xml,增加mysql数据库驱动与数据源:
      1.   在 <subsystem xmlns="urn:jboss:domain:datasources:3.0">中的<datasources>节点下,增加如下配置:
        <datasource jta="true" jndi-name="java:/XboMdtDS" pool-name="XboMdtDS" enabled="true" use-ccm="true">
                            <connection-url>jdbc:mysql://192.168.50.123:3306/xbomdt</connection-url>
                            <driver-class>com.mysql.jdbc.Driver</driver-class>
                            <driver>mysql</driver>
                            <pool>
                                <min-pool-size>5</min-pool-size>
                                <initial-pool-size>5</initial-pool-size>
                                <max-pool-size>10</max-pool-size>
                            </pool>
                            <security>
                                <user-name>mysql</user-name>
                                <password>mysql</password>
                            </security>
                            <validation>
                                <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
                                <background-validation>true</background-validation>
                                <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
                            </validation>
                        </datasource>

         

      2. 在<subsystem xmlns="urn:jboss:domain:datasources:3.0">中的<drivers>节点下增加如下配置:
        <driver name="mysql" module="jdbc.mysql">
                                <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADatasource</xa-datasource-class>
                            </driver>

         

      3. 查看机器50.123上的wildfly是否有mysql jdbc模块,目录地址为:wildfly9\\modules\\system\\layers\\base\\jdbc\\mysql\\main
        1. 如果有此目录且目录下有module.xml与mysql-connector*.jar,则路过此步骤。
        2. 如果没有相关目录与文件,则创建此目录并在此目录中增加module.xml,内容如下:
          <?xml version="1.0" encoding="UTF-8"?>
          
          <module xmlns="urn:jboss:module:1.3" name="jdbc.mysql">
          
              <resources>
                  <resource-root path="mysql-connector-java-5.1.38.jar"/>
              </resources>
              <dependencies>
                  <module name="javax.api"/>
                  <module name="javax.transaction.api"/>        
              </dependencies>
          </module>

           

        3. 注明,上述配置中的 resource-root path 即为main目录中mysql-connector*.jar的文件名,我这里是
          mysql-connector-java-5.1.38.jar。
  7. 修改<interfaces>节点,配置如下:
     <interfaces>
            <interface name="management">
                <inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
            </interface>
            <interface name="public">
                <inet-address value="${jboss.bind.address:0.0.0.0}"/>
            </interface>
            <interface name="unsecure">
                <inet-address value="${jboss.bind.address.unsecure:0.0.0.0}"/>
            </interface>
        </interfaces>

    注:此配置目的是使用ip地址可访问服务,配置之前只能使用localhost或127.0.0.1访问。

  8.  运行wildfly/bin/目录下的 standalone.bat/standalone.sh,查看是否有错误输出,本示例中没有异常,且最后四行输出如为:
    2016-12-13 14:43:06,894 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-3) WFLYDS0013: Started FileSystemDeploymentService for directory /home/pacs/wildfly/standalone/deployments                             
    2016-12-13 14:43:07,133 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://0.0.0.0:9990/management                                                                            
    2016-12-13 14:43:07,134 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://0.0.0.0:9990                                                                                                   
    2016-12-13 14:43:07,134 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 9.0.2.Final (WildFly Core 1.0.2.Final) started in 4207ms - Started 209 of 385 services (210 services are lazy, passive or on-demand)

     

  9. 至此,50.123机器上的服务器配置完成。

 

以上是关于wildfly 实践1 --分布式服务配置(服务端角)的主要内容,如果未能解决你的问题,请参考以下文章

J2EE之wildfly 实践9 -- 使用infinispan 过期缓存

JBoss EAP 7.1.0 中的 Wildfly 版本

Wildfly 10.1.0 - 未找到 Mysql 数据源

Wildfly 上的轴 1

WildFly 中的 JPA 共享缓存/二级缓存

无法在 Wildfly 中部署 keyclock 快速入门示例战争