反馈已提交

网络繁忙

您好,只有最新版本的6.X支持在线编辑修改,如果想创建/编辑文档,请移步到 *最新版本*

Wildfly(JBoss)9~18服务器部署

  • 文档创建者:doreen0813
  • 历史版本:23
  • 最近更新:Carly 于 2023-07-05
  • 1. 概述

    FineBI 支持的 Wildfly 版本及对应的 JDK 版本:

    Wildfly版本    JDK版本
    Wildfly8~18      JDK 1.8 且小版本需在 JDK8u102 以上

    Jboss 服务器从版本 7 以后,就改名为 wildfly。本章我们以 Wildfly9 为例,介绍在 Linux 系统下进行的服务器部署,其他版本的部署方式与以下基本一致,wildfly8 的部署方式参考 Wildfly(Jboss)8服务器部署 。

    注1:部署前请先确认服务器环境的 JDK 版本,否则无法部署成功并使用。

    注2:FineBI5.1.18及之前版本,升级到5.1.18及之后版本,需要重新下载文档中的各类jar包和文件进行替换,否则可能导致工程无法启动。

    2. 部署步骤

    2.1 前置步骤

    1)下载并解压:core.zip

    2)将解压出来的文件覆盖Wildfly 目录 ../wildfly-9.0.0.Final/modules/system/layers/base/com/fasterxml/jackson/core目录中

    如下图所示:

    b'n1.png

    2.2 部署步骤

    1)下载:jersey-server-2.34.jar,将其拷贝进FineBI安装目录 %FineBI%/webapps/webroot/WEB-INF/lib 中。

    2)将服务器 jdk 环境中的 tools.jar 文件拷贝进FineBI安装目录 %FineBI%/webapps/webroot/WEB-INF/lib 中,如下图:

    3.png

    3)Wildfly10 用户必做(其他版本用户请忽略该步骤):

    xml 文件下载:jboss-deployment-structure.xml

    %FineBI%/webapps/webroot/WEB-INF下添加下载的 xml 文件。

    4)将 FineBI 工程文件夹 webroot (%FineBI%/webapps/下)移动至 wildfly 目录 ../wildfly-9.0.0.Final/standalone/deployments 下,并将其重命名为 webroot.war,如下图:

    2.png

    5)在 deployments 目录下新建一个文件,命名为 webroot.war.dodeploy,如下图:

    4.png

    6)进入 wildfly 目录 ../wildfly-9.0.0.Final/modules/system/layers/base/sun/jdk/main/ 下,编辑 module.xml 文件,在 <paths></paths> 父标签末尾加入 <path name="com/sun/management"/> 保存,如下图:

    6.png

    7)Wildfly10 用户必做(其他版本用户请忽略该步骤):

    修改...standalone/configuration/standalone.xml文件,jboss.bind.address:127.0.0.1 修改为jboss.bind.address:0.0.0.0,如下图所示:

    1632810858906173.png

    8)进入 wildfly 目录 ../wildfly-9.0.0.Final/bin,执行 ./standalone.sh命令启动 wildfly 会自动进行部署。

    注:若之前部署失败,请先删除 ../wildfly-*.0.0.Final/standalone/ 目录下的 /data、/tmp 文件,再重新部署。

    2.3 访问工程

    部署完成后,在浏览器中输入http://虚拟机ip:8080/webroot/decision,可成功看到访问界面,证明部署成功。8080端口可根据需要进行修改。

    7.png

    2.4 服务器宕机风险参数设置

    FineBI 对服务器有一定的配置要求,当服务器不能满足 BI 使用时,会出现宕机风险,相关参数配置详情参见:修改 FineBI 配置参数

    3. 注意事项

    3.1 工程缺少类文件

    1)问题描述

    按照文档上述步骤部署 BI 工程,启动失败,有如下日志抛错信息:

    2020-03-13 09:06:00,209 WARN  [org.jboss.modules] (MSC service thread 1-6) Failed to define class com.sun.jersey.api.core.DefaultResourceConfig in Module "deployment.webroot.war:main" from Service Module Loader: java.lang.LinkageError: Failed to link com/sun/jersey/api/core/ResourceConfig (Module "deployment.webroot.war:main" from Service Module Loader)
        at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:437)
        at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:269)
        at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:77)
        at org.jboss.modules.Module.loadModuleClass(Module.java:560)
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:353)
        at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:432)
        at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:269)
        at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:77)
        at org.jboss.modules.Module.loadModuleClass(Module.java:560)
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:353)
        at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:432)
        at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:269)
        at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:77)
        at org.jboss.modules.Module.loadModuleClass(Module.java:560)
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:353)
        at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:432)
        at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:269)
        at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:77)
        at org.jboss.modules.Module.loadModuleClass(Module.java:560)
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
        at org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.scan(JaxrsScanningProcessor.java:201)
        at org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.deploy(JaxrsScanningProcessor.java:105)
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156)
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
    Caused by: java.lang.NoClassDefFoundError: com/sun/jersey/core/util/FeaturesAndProperties
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:353)
        at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:432)
        ... 52 more
    Caused by: java.lang.ClassNotFoundException: com.sun.jersey.core.util.FeaturesAndProperties from [Module "deployment.webroot.war:main" from Service Module Loader]
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
        ... 56 more

    2)原因分析

    从日志信息中可以分析出是由于找不到对应的类导致的,缺少的类文件来自另一个 JAR 包 jersey-core-1.19.4.jar。

    3)解决方案

    下载 jersey-core-1.19.4.jar ,将 JAR 包放到%FineBI%/webapps/webroot/WEB-INF/lib目录下,重启服务器即可。

    3.2 访问工程报错 not found

    问题描述

    访问工程报错 not found,但日志里工程正常启动。

    解决方案

    访问工程 URL 后加 / ,例如:http://localhost:8080/webroot/decision/

    3.3 全局更新数据不能存放在部署目录下

    全局更新 设置中,数据存放路径不能为部署目录下。

    2.png

    附件列表


    主题: 部署集成
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    在线QQ(将在2023.01.03关停):800049425

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭