7.0.0升级详细说明及步骤

开发和运行环境服务升级

1. 安装JDK17

点击打开JDK17下载页面

根据本地开发系统环境选择合适的安装包进行下载并使用

注意事项:

  1. 安装jdk17
  2. JAVA_HOME/PATH 环境变量配置

2. RocketMQ 升级

推荐升级至 4.8.x 版本

点击下载4.8.0版本

注:若 RocketMQ 版本低于 4.8.x 版本,需进行升级,否则无法正常运行在 JDK17 环境中。

支持程度 RocketMQ 版本 关键说明
基础运行兼容 4.8.0+ 首次适配 JDK 9+ 核心运行环境,修复模块导出、反射限制等基础问题
完整特性兼容 4.9.0+ 解决 JDK 9+ 下的网络、线程、日志等细节兼容问题,生产环境可落地
官方明确标注支持 5.0.0+(5.x 全系列) 官网文档明确声明支持 JDK 8/11/17(9/10 属于过渡版本,间接兼容)

对于无法升级 RocketMQ 版本的环境,可通过修改 runserver.sh 和 runbroker.sh 运行脚本进行适配。在使用 cmd 脚本的运行环境中,可通过修改 runserver.cmd 和 runbroker.cmd 运行脚本进行适配。

下面提供了基于 4.5.2 版本修改后的 runserver.sh 和 runbroker.sh 脚本进行参考。
修改运行脚本仅适用于无法升级中间件版本的特殊环境,下面提供的修改后的脚本,只能保证收发消息功能正常,无法保证其他功能的正常使用。

核心变更内容:

  1. JAVA_OPT 配置使用 --add-opens 参数以支持非模块化内置包在运行代码中的使用。
  2. 移除 JDK17 不再支持的其他 JVM 参数。
runserver.sh
#!/bin/sh

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

#===========================================================================================
# Java Environment Setting
#===========================================================================================
error_exit ()
{
    echo "ERROR: $1 !!"
    exit 1
}

[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"

export JAVA_HOME
export JAVA="$JAVA_HOME/bin/java"
export BASE_DIR=$(dirname $0)/..
export CLASSPATH=.:${BASE_DIR}/lib/*:${BASE_DIR}/conf:${CLASSPATH}

#===========================================================================================
# JVM Configuration
#===========================================================================================
# The RAMDisk initializing size in MB on Darwin OS for gc-log
DIR_SIZE_IN_MB=600

choose_gc_log_directory()
{
    case "`uname`" in
        Darwin)
            if [ ! -d "/Volumes/RAMDisk" ]; then
                # create ram disk on Darwin systems as gc-log directory
                DEV=`hdiutil attach -nomount ram://$((2 * 1024 * DIR_SIZE_IN_MB))` > /dev/null
                diskutil eraseVolume HFS+ RAMDisk ${DEV} > /dev/null
                echo "Create RAMDisk /Volumes/RAMDisk for gc logging on Darwin OS."
            fi
            GC_LOG_DIR="/Volumes/RAMDisk"
        ;;
        *)
            # check if /dev/shm exists on other systems
            if [ -d "/dev/shm" ]; then
                GC_LOG_DIR="/dev/shm"
            else
                GC_LOG_DIR=${BASE_DIR}
            fi
        ;;
    esac
}

choose_gc_log_directory

# JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m \
    --add-opens=java.base/java.lang=ALL-UNNAMED \
    --add-opens=java.base/java.lang.annotation=ALL-UNNAMED \
    --add-opens=java.base/java.lang.constant=ALL-UNNAMED \
    --add-opens=java.base/java.lang.invoke=ALL-UNNAMED \
    --add-opens=java.base/java.lang.module=ALL-UNNAMED \
    --add-opens=java.base/java.lang.ref=ALL-UNNAMED \
    --add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
    --add-opens=java.base/java.lang.runtime=ALL-UNNAMED \
    --add-opens=java.base/java.io=ALL-UNNAMED \
    --add-opens=java.base/java.lang=ALL-UNNAMED \
    --add-opens=java.base/java.math=ALL-UNNAMED \
    --add-opens=java.base/java.net=ALL-UNNAMED \
    --add-opens=java.base/java.nio=ALL-UNNAMED \
    --add-opens=java.base/java.security=ALL-UNNAMED \
    --add-opens=java.base/java.text=ALL-UNNAMED \
    --add-opens=java.base/java.time=ALL-UNNAMED \
    --add-opens=java.base/java.util=ALL-UNNAMED \
    --add-opens=java.xml/com.sun.org.apache.xpath.internal.jaxp=ALL-UNNAMED \
    --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED \
    --add-opens=java.base/jdk.internal.access=ALL-UNNAMED"

# JAVA_OPT="${JAVA_OPT} -XX:+IgnoreUnrecognizedVMOptions -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8  -XX:-UseParNewGC"
JAVA_OPT="${JAVA_OPT} -XX:+IgnoreUnrecognizedVMOptions -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8  -XX:-UseParNewGC"
# JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:${GC_LOG_DIR}/rmq_srv_gc_%p_%t.log -XX:+PrintGCDetails"
JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:${GC_LOG_DIR}/rmq_srv_gc_%p_%t.log"
# JAVA_OPT="${JAVA_OPT} -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m"
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow"
JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages"
# JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:${BASE_DIR}/lib"
# JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${BASE_DIR}/lib"
#JAVA_OPT="${JAVA_OPT} -Xdebug -Xrunjdwp:transport=dt_socket,address=9555,server=y,suspend=n"
JAVA_OPT="${JAVA_OPT} ${JAVA_OPT_EXT}"
JAVA_OPT="${JAVA_OPT} -cp ${CLASSPATH}"

$JAVA ${JAVA_OPT} $@
runbroker.sh
#!/bin/sh

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

#===========================================================================================
# Java Environment Setting
#===========================================================================================
error_exit ()
{
    echo "ERROR: $1 !!"
    exit 1
}

[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"

export JAVA_HOME
export JAVA="$JAVA_HOME/bin/java"
export BASE_DIR=$(dirname $0)/..
export CLASSPATH=.:${BASE_DIR}/lib/*:${BASE_DIR}/conf:${CLASSPATH}

#===========================================================================================
# JVM Configuration
#===========================================================================================
# The RAMDisk initializing size in MB on Darwin OS for gc-log
DIR_SIZE_IN_MB=600

choose_gc_log_directory()
{
    case "`uname`" in
        Darwin)
            if [ ! -d "/Volumes/RAMDisk" ]; then
                # create ram disk on Darwin systems as gc-log directory
                DEV=`hdiutil attach -nomount ram://$((2 * 1024 * DIR_SIZE_IN_MB))` > /dev/null
                diskutil eraseVolume HFS+ RAMDisk ${DEV} > /dev/null
                echo "Create RAMDisk /Volumes/RAMDisk for gc logging on Darwin OS."
            fi
            GC_LOG_DIR="/Volumes/RAMDisk"
        ;;
        *)
            # check if /dev/shm exists on other systems
            if [ -d "/dev/shm" ]; then
                GC_LOG_DIR="/dev/shm"
            else
                GC_LOG_DIR=${BASE_DIR}
            fi
        ;;
    esac
}

choose_gc_log_directory

# JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g"
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g \
    --add-opens=java.base/java.lang=ALL-UNNAMED \
    --add-opens=java.base/java.lang.annotation=ALL-UNNAMED \
    --add-opens=java.base/java.lang.constant=ALL-UNNAMED \
    --add-opens=java.base/java.lang.invoke=ALL-UNNAMED \
    --add-opens=java.base/java.lang.module=ALL-UNNAMED \
    --add-opens=java.base/java.lang.ref=ALL-UNNAMED \
    --add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
    --add-opens=java.base/java.lang.runtime=ALL-UNNAMED \
    --add-opens=java.base/java.io=ALL-UNNAMED \
    --add-opens=java.base/java.lang=ALL-UNNAMED \
    --add-opens=java.base/java.math=ALL-UNNAMED \
    --add-opens=java.base/java.net=ALL-UNNAMED \
    --add-opens=java.base/java.nio=ALL-UNNAMED \
    --add-opens=java.base/java.security=ALL-UNNAMED \
    --add-opens=java.base/java.text=ALL-UNNAMED \
    --add-opens=java.base/java.time=ALL-UNNAMED \
    --add-opens=java.base/java.util=ALL-UNNAMED \
    --add-opens=java.xml/com.sun.org.apache.xpath.internal.jaxp=ALL-UNNAMED \
    --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED \
    --add-opens=java.base/jdk.internal.access=ALL-UNNAMED"

JAVA_OPT="${JAVA_OPT} -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0"
# JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:${GC_LOG_DIR}/rmq_broker_gc_%p_%t.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintAdaptiveSizePolicy"
JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:${GC_LOG_DIR}/rmq_broker_gc_%p_%t.log"
# JAVA_OPT="${JAVA_OPT} -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m"
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow"
JAVA_OPT="${JAVA_OPT} -XX:+AlwaysPreTouch"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=15g"
JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages -XX:-UseBiasedLocking"
# JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:${BASE_DIR}/lib"
# JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${BASE_DIR}/lib"
#JAVA_OPT="${JAVA_OPT} -Xdebug -Xrunjdwp:transport=dt_socket,address=9555,server=y,suspend=n"
JAVA_OPT="${JAVA_OPT} ${JAVA_OPT_EXT}"
JAVA_OPT="${JAVA_OPT} -cp ${CLASSPATH}"

numactl --interleave=all pwd > /dev/null 2>&1
if [ $? -eq 0 ]
then
    if [ -z "$RMQ_NUMA_NODE" ] ; then
        numactl --interleave=all $JAVA ${JAVA_OPT} $@
    else
        numactl --cpunodebind=$RMQ_NUMA_NODE --membind=$RMQ_NUMA_NODE $JAVA ${JAVA_OPT} $@
    fi
else
    $JAVA ${JAVA_OPT} $@
fi

3. Zookeeper 升级

推荐升级至 3.9.x 版本

点击下载3.9.4版本

注: 若 Zookeeper 版本低于 3.6.x 版本,需进行升级,否则无法正常运行在 JDK17 环境中。

支持程度 ZooKeeper 版本 关键说明
基础运行兼容 3.6.0+ 首次修复 JDK 9+ 模块化、反射限制等核心问题,可运行但需手动适配启动参数
完整特性兼容 3.6.3+ 解决 JDK 9+ 下的日志、SSL、工具类等边缘场景兼容问题,生产环境可落地
官方明确标注支持 3.7.0+ / 3.8.0+ 官网文档明确声明支持 JDK 8/11(9/10 为过渡版本,间接兼容),移除老旧 JDK 依赖
LTS 版本最优选择 3.8.x(稳定版)/ 3.9.x 长期支持版本,完全适配 JDK 11/17(LTS),无额外兼容成本

代码升级

1. pom编译版本升级

将原有声明了 maven.compiler 和 java.version 相关参数进行修改

<!--
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<java.version>1.8</java.version>
-->

<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<java.version>17</java.version>
<java.vendor>Oracle</java.vendor>

2. maven 编译插件升级

注: 按需选择升级,只要保证 install, package, deploy 等常用生命周期正常使用即可

<maven.compiler.version>3.14.0</maven.compiler.version>
<maven.surefire.version>3.5.3</maven.surefire.version>
<maven.source.version>3.3.1</maven.source.version>
<maven.install.version>3.1.4</maven.install.version>
<maven.deploy.version>3.1.4</maven.deploy.version>
<maven.war.version>3.4.0</maven.war.version>

注: 编译插件参数配置

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <configuration>
      <source>${maven.compiler.source}</source>
      <target>${maven.compiler.source}</target>
      <encoding>${project.build.sourceEncoding}</encoding>
      <fork>true</fork>
      <compilerArgs>
          <arg>-parameters</arg>
          <arg>-Xmaxerrs</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.launcher=ALL-UNNAMED</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.platform=ALL-UNNAMED</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.resources=ALL-UNNAMED</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
          <arg>-J--add-opens=jdk.compiler/com.sun.source.tree=ALL-UNNAMED</arg>
          <arg>-J--add-opens=java.base/jdk.internal.access=ALL-UNNAMED</arg>
          <arg>-J--add-opens=java.xml/com.sun.org.apache.xpath.internal.jaxp=ALL-UNNAMED</arg>

          <arg>--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
          <arg>--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
          <arg>--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
          <arg>--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
          <arg>--add-exports=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED</arg>
          <arg>--add-exports=jdk.compiler/com.sun.tools.javac.launcher=ALL-UNNAMED</arg>
          <arg>--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
          <arg>--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
          <arg>--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
          <arg>--add-exports=jdk.compiler/com.sun.tools.javac.platform=ALL-UNNAMED</arg>
          <arg>--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
          <arg>--add-exports=jdk.compiler/com.sun.tools.javac.resources=ALL-UNNAMED</arg>
          <arg>--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
          <arg>--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
          <arg>--add-exports=jdk.compiler/com.sun.source.tree=ALL-UNNAMED</arg>
          <arg>--add-exports=java.base/jdk.internal.access=ALL-UNNAMED</arg>
          <arg>--add-exports=java.xml/com.sun.org.apache.xpath.internal.jaxp=ALL-UNNAMED</arg>
      </compilerArgs>
  </configuration>
</plugin>

3. 第三方版本升级(无需执行)

注: 此处不包含间接升级的第三方依赖,仅包含 Oinone 主动升级的第三方依赖。

<commons.lang3.version>3.18.0</commons.lang3.version>
<commons.collections4.version>4.5.0</commons.collections4.version>
<commons.beanutils.version>1.11.0</commons.beanutils.version>
<gson.version>2.13.1</gson.version>
<druid.version>1.2.25</druid.version>
<mybatis.version>3.5.19</mybatis.version>
<mybatis.spring.version>3.0.4</mybatis.spring.version>
<mybatis-plus.version>3.5.11</mybatis-plus.version>
<thymeleaf.version>3.1.3.RELEASE</thymeleaf.version>
<aspectj.version>1.9.24</aspectj.version>
<aspectjweaver.version>1.9.24</aspectjweaver.version>
<caffeine.version>3.2.2</caffeine.version>
<groovy.version>4.0.28</groovy.version>
<kryo.version>5.6.2</kryo.version>
<dubbo.version>3.2.18</dubbo.version>
<dubbo.extensions.version>3.3.1</dubbo.extensions.version>
<spring.boot.version>3.3.13</spring.boot.version>
<spring.cloud.version>2023.0.6</spring.cloud.version>
<spring.cloud.alibaba.version>2023.0.3.3</spring.cloud.alibaba.version>
<spring.cloud.nacos.version>2023.0.3.3</spring.cloud.nacos.version>
<spring.version>6.1.21</spring.version>
<atomikos.version>6.0.0</atomikos.version>
<jedis.version>5.0.2</jedis.version>
<httpclient.version>4.5.13</httpclient.version>
<minio.version>6.0.13</minio.version>
<okhttp.version>3.14.9</okhttp.version>
<org.junit5.platform.version>1.13.4</org.junit5.platform.version>
<org.junit5.jupiter.version>5.13.4</org.junit5.jupiter.version>
<org.junit5.vintage.version>5.13.4</org.junit5.vintage.version>
<junit4.version>4.13.2</junit4.version>
<jacoco.version>0.8.13</jacoco.version>

4. Oinone Bom 升级

注:7.x 版本继续保持原有依赖方式不变,仅需升级版本号即可完成 Oinone 平台升级。最新版本请参考更新日志。

<oinone.version>7.0.1</oinone.version>

<dependency>
    <groupId>pro.shushi</groupId>
    <artifactId>oinone-bom</artifactId>
    <version>${oinone.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

5. 类引入路径变更

JDK 17 作为长期支持版,已完全移除内置的 Java EE 相关模块(JDK 9 开始模块化,JDK 11 彻底移除),因此升级时若依赖 Java EE 组件,会遇到 javax → jakarta 的包名变更问题。

下面列出了所有 Oinone 已知的类引入变更,可在项目中进行全局替换。其他未列出变更内容可参考文末的参考资料或自行搜索解决。

# javax.annotation.Resource
jakarta.annotation.Resource

# javax.annotation.PostConstruct
jakarta.annotation.PostConstruct

# javax.servlet.
jakarta.servlet.

# javax.validation.
jakarta.validation.

# javax.activation.
jakarta.activation.

# javax.mail.
jakarta.mail.

一些特殊情况:

  1. Oinone 7.x 首发版本未处理 Apache Camel 升级,导致通过 Exchange.HTTP_SERVLET_RESPONSE 变量获取 HttpServletResponse 值时需要使用 javax.servlet.http.HttpServletResponse 而不是 jakarta.servlet.http.HttpServletResponse。

6. yaml 配置变更

核心变更内容:

  1. 移除 bootstrap.yml,使用新的 profiles 指定方式。
  2. 使用 spring.main.allow-circular-references=true 启用 Spring 循环依赖处理。
  3. Spring Data 相关配置升级,以 Redis 为例,配置前缀由 spring.redis 改为 spring.data.redis。

具体变更步骤

  1. 移除 bootstrap.yml 改为使用 application.yml 作为公共配置。
application.yml
spring:
  profiles:
    active: dev
  main:
    allow-circular-references: true
  application:
    name: pamirs-demo
  cloud:
    service-registry:
      auto-registration:
        enabled: false
    config:
      enabled: false
      uri: http://127.0.0.1:7001
      label: master
      profile: dev
    nacos:
      server-addr: http://127.0.0.1:8848
      discovery:
        enabled: false
        namespace:
        prefix: application
        file-extension: yml
      config:
        enabled: false
        namespace:
        prefix: application
        file-extension: yml
dubbo:
  application:
    name: pamirs-demo
    version: 1.0.0
    register-consumer: false
  registry:
    address: zookeeper://127.0.0.1:2181
  protocol:
    name: dubbo
    port: -1
    serialization: pamirs
    payload: 104857600
  scan:
    base-packages: pro.shushi
  cloud:
    subscribed-services:
pamirs:
  default:
    environment-check: true
    tenant-check: true

变更要点:

  • spring.profiles.active 配置用于指定具体环境配置后缀,下面的配置示例指向 application-dev.yml 配置文件。
  • spring.main.allow-circular-references=true:Spring 不再主动处理循环依赖引用问题,需要显式启用,目前 Oinone 暂不支持关闭,未来会陆续支持。
  1. application-dev.yml 配置变更
# spring:
#   profiles: dev

spring:
  config:
    activate:
      on-profile: dev
  1. Redis 配置由 spring.redis 前缀改为 spring.data.redis 前缀,其他配置可参考官方文档
# spring:
#   redis:
#     database: 1
#     host: 127.0.0.1
#     port: 6379
#     timeout: 2000

spring:
  data:
    redis:
      database: 1
      host: 127.0.0.1
      port: 6379
      timeout: 2000

变更要点:

  • Oinone 7.x 开始将完整支持 org.springframework.boot.autoconfigure.data.redis.RedisProperties 未来所有变更将跟随 Spring Data Redis 升级而变化。

7. 类变更

类名或路径变更

pro.shushi.pamirs.framework.connectors.data.kv.RedisSimpleConfig -> pro.shushi.pamirs.framework.connectors.data.kv.PamirsRedisConfig
pro.shushi.pamirs.auth.api.extend.AuthPermissionCacheExtendApi -> pro.shushi.pamirs.auth.api.extend.cache.AuthPermissionCacheExtendApi
pro.shushi.pamirs.auth.api.extend.PermissionNodeConvertExtendApi -> pro.shushi.pamirs.auth.api.extend.load.PermissionNodeConvertExtendApi
pro.shushi.pamirs.auth.api.extend.PermissionNodeLoadExtendApi -> pro.shushi.pamirs.auth.api.extend.load.PermissionNodeLoadExtendApi

移除废弃类或方法

pro.shushi.pamirs.framework.connectors.data.kv.RedisClusterConfig
pro.shushi.pamirs.framework.connectors.data.kv.RedisClusterProperty
pro.shushi.pamirs.framework.connectors.data.kv.RedisConfig
pro.shushi.pamirs.framework.connectors.data.kv.RedisSentinelConfig
pro.shushi.pamirs.framework.connectors.data.kv.RedisSentinelProperty
pro.shushi.pamirs.auth.api.service.IRoleCustom
pro.shushi.pamirs.auth.api.runtime.holder.AuthVerificationApiHolder
pro.shushi.pamirs.auth.api.enmu.PermissionDataSourceEnum
pro.shushi.pamirs.auth.api.extend.load.PermissionNodeLoadExtendApi#buildRootPermissions

开发运行和部署变更

idea 启动配置中添加 JVM 参数用于开发运行

--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.launcher=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.platform=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.resources=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.source.tree=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.annotation=ALL-UNNAMED
--add-opens=java.base/java.lang.constant=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.lang.module=ALL-UNNAMED
--add-opens=java.base/java.lang.ref=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.lang.runtime=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.math=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.security=ALL-UNNAMED
--add-opens=java.base/java.text=ALL-UNNAMED
--add-opens=java.base/java.time=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.xml/com.sun.org.apache.xpath.internal.jaxp=ALL-UNNAMED
--add-opens=java.base/jdk.internal.access=ALL-UNNAMED

服务器部署命令中添加 JVM 参数

java \
  --add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.launcher=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.platform=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.resources=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED \
  --add-opens=jdk.compiler/com.sun.source.tree=ALL-UNNAMED \
  --add-opens=java.base/java.lang=ALL-UNNAMED \
  --add-opens=java.base/java.lang.annotation=ALL-UNNAMED \
  --add-opens=java.base/java.lang.constant=ALL-UNNAMED \
  --add-opens=java.base/java.lang.invoke=ALL-UNNAMED \
  --add-opens=java.base/java.lang.module=ALL-UNNAMED \
  --add-opens=java.base/java.lang.ref=ALL-UNNAMED \
  --add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
  --add-opens=java.base/java.lang.runtime=ALL-UNNAMED \
  --add-opens=java.base/java.io=ALL-UNNAMED \
  --add-opens=java.base/java.lang=ALL-UNNAMED \
  --add-opens=java.base/java.math=ALL-UNNAMED \
  --add-opens=java.base/java.net=ALL-UNNAMED \
  --add-opens=java.base/java.nio=ALL-UNNAMED \
  --add-opens=java.base/java.security=ALL-UNNAMED \
  --add-opens=java.base/java.text=ALL-UNNAMED \
  --add-opens=java.base/java.time=ALL-UNNAMED \
  --add-opens=java.base/java.util=ALL-UNNAMED \
  --add-opens=java.xml/com.sun.org.apache.xpath.internal.jaxp=ALL-UNNAMED \
  --add-opens=java.base/jdk.internal.access=ALL-UNNAMED \
  -jar boot.jar

参考资料: 按组件分类的包名变更

注: 此参考资料由 AI 生成,生成结果可能出现偏差或错误,请仔细甄别。

1. Servlet / JSP / EL(最常用)

原 JDK 8/Java EE 包名 JDK 17/Jakarta EE 包名 说明
javax.servlet.* jakarta.servlet.* 核心 Servlet API(Request/Response/Filter 等)
javax.servlet.http.* jakarta.servlet.http.* HTTP 相关 Servlet API
javax.servlet.annotation.* jakarta.servlet.annotation.* Servlet 注解(@WebServlet、@WebFilter 等)
javax.servlet.jsp.* jakarta.servlet.jsp.* JSP 核心 API
javax.servlet.jsp.tagext.* jakarta.servlet.jsp.tagext.* JSP 标签扩展
javax.el.* jakarta.el.* 表达式语言(EL)
javax.servlet.jsp.el.* jakarta.servlet.jsp.el.* JSP EL 集成

2. JPA(持久化)

原 JDK 8/Java EE 包名 JDK 17/Jakarta EE 包名 说明
javax.persistence.* jakarta.persistence.* JPA 核心 API(@Entity、@Table、EntityManager 等)
javax.persistence.criteria.* jakarta.persistence.criteria.* JPA 条件查询
javax.persistence.metamodel.* jakarta.persistence.metamodel.* JPA 元模型
javax.persistence.spi.* jakarta.persistence.spi.* JPA 服务提供接口

3. JAX-RS(RESTful)

原 JDK 8/Java EE 包名 JDK 17/Jakarta EE 包名 说明
javax.ws.rs.* jakarta.ws.rs.* JAX-RS 核心 API(@GET、@POST、Path 等)
javax.ws.rs.client.* jakarta.ws.rs.client.* 客户端 API
javax.ws.rs.core.* jakarta.ws.rs.core.* 核心对象(Response、MediaType 等)
javax.ws.rs.ext.* jakarta.ws.rs.ext.* 扩展接口

4. JAX-WS(WebService)

原 JDK 8/Java EE 包名 JDK 17/Jakarta EE 包名 说明
javax.xml.ws.* jakarta.xml.ws.* JAX-WS 核心 API
javax.xml.ws.handler.* jakarta.xml.ws.handler.* 处理器 API
javax.xml.ws.http.* jakarta.xml.ws.http.* HTTP 绑定
javax.jws.* jakarta.jws.* WebService 注解(@WebService、@WebMethod 等)
javax.xml.bind.* jakarta.xml.bind.* JAXB(XML 绑定,JDK 8 内置,JDK 11+ 需手动引入)
javax.xml.bind.annotation.* jakarta.xml.bind.annotation.* JAXB 注解(@XmlRootElement 等)

5. JMS(消息队列)

原 JDK 8/Java EE 包名 JDK 17/Jakarta EE 包名 说明
javax.jms.* jakarta.jms.* JMS 核心 API(Connection、Session、Message 等)

6. Bean Validation(参数校验)

原 JDK 8/Java EE 包名 JDK 17/Jakarta EE 包名 说明
javax.validation.* jakarta.validation.* 校验核心 API(@Valid、@NotNull、Validator 等)
javax.validation.constraints.* jakarta.validation.constraints.* 内置校验注解
javax.validation.groups.* jakarta.validation.groups.* 校验分组

7. CDI(依赖注入)

原 JDK 8/Java EE 包名 JDK 17/Jakarta EE 包名 说明
javax.enterprise.context.* jakarta.enterprise.context.* CDI 上下文(@RequestScoped、@SessionScoped 等)
javax.enterprise.inject.* jakarta.enterprise.inject.* CDI 注入(@Inject、@Named 等)
javax.inject.* jakarta.inject.* JSR-330 依赖注入(Spring 也依赖此包)

8. 其他常用组件

原 JDK 8/Java EE 包名 JDK 17/Jakarta EE 包名 说明
javax.annotation.* jakarta.annotation.* 通用注解(@Resource、@PostConstruct、@PreDestroy 等)
javax.transaction.* jakarta.transaction.* 事务 API(@Transactional、UserTransaction 等)
javax.mail.* jakarta.mail.* JavaMail 邮件 API
javax.json.* jakarta.json.* JSON 处理 API
javax.faces.* jakarta.faces.* JSF 前端框架

Oinone社区 作者:张博昊原创文章,如若转载,请注明出处:https://doc.oinone.top/version/25243.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

Like (0)
张博昊's avatar张博昊数式管理员
Previous 2025年12月17日 pm12:00
Next 2025年12月17日 pm12:00

相关推荐

  • 5.0.4版本feature:新增弹出层的尺寸优化为支持主题变量配置,请升级对应版本

    版本号: 5.0.25 版本发布日期:2024.09.12更新要点: 新增弹出层的尺寸优化为支持主题变量配置 5.0.25 版本 升级说明及步骤(已升级为5.0.0版本忽略) 此版本与4.7.8版本的兼容方案如下,请严格参照升级说明及步骤进行1、【重要】升级前备份base库和用户权限模块所在的库 2、【重要】升级过程执行SQL严格按照升级文档中的步骤执行。特别注意:部分SQL是要求【发布前执行】,部分SQL是要求【发布后执行】 5.0.0升级详细说明及步骤 升级内容(5.0.0) 新增弹出层的尺寸优化为支持主题变量配置 修复翻译无法创建翻译项的问题 开发时增加路由变化的日志 表单项的placeholder占位符支持主题配置只读和禁用状态下的配置 表达式解析优化 增加默认布局的开发时日志 同步导出支持自定义的导出任务 mask、layout的开发时日志增加后端定义的和默认生成的 分组组件标题和表单项标题的表达式解析优化 修复切换账号登录导致的权限异常提示 请尽可能保证业务工程前后端服务以及设计器同步升级前端服务仅需重新执行npm install即可自动升级到最新版本 版本包信息 Oinone平台部署及依赖说明(v5.0) 未使用到的版本号请忽略,按项目中使用到的进行替换。 <!– 平台基础 –> <pamirs.middleware.version>5.0.3</pamirs.middleware.version> <pamirs.k2.version>5.0.11</pamirs.k2.version> <pamirs.framework.version>5.0.34</pamirs.framework.version> <pamirs.boot.version>5.0.24</pamirs.boot.version> <pamirs.distribution.version>5.0.12</pamirs.distribution.version> <!– 平台功能 –> <pamirs.metadata.manager>5.0.1</pamirs.metadata.manager> <pamirs.core.version>5.0.46</pamirs.core.version> <pamirs.workflow.version>5.0.12</pamirs.workflow.version> <pamirs.workbench.version>5.0.3</pamirs.workbench.version> <pamirs.data.visualization.version>5.0.4</pamirs.data.visualization.version> <!– 设计器 –> <pamirs.designer.common.version>5.0.5</pamirs.designer.common.version> <pamirs.flow.designer.base.version>5.0.3</pamirs.flow.designer.base.version> <pamirs.workflow.designer.version>5.0.2</pamirs.workflow.designer.version> <pamirs.model.designer.version>5.0.2</pamirs.model.designer.version> <pamirs.ui.designer.version>5.0.20</pamirs.ui.designer.version> <pamirs.data.designer.version>5.0.2</pamirs.data.designer.version> <pamirs.dataflow.designer.version>5.0.3</pamirs.dataflow.designer.version> <pamirs.eip.designer.version>5.0.4</pamirs.eip.designer.version> 注意镜像名称变化 镜像说明 所有镜像均使用docker manifest支持amd64和arm64架构。如镜像拉取过慢,可在对应镜像Tag添加-amd64、-arm64后缀获取单一架构镜像。 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.0:5.0.25-amd64 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.0:5.0.25-arm64 镜像拉取 镜像或JAR版本:5.0.25 体验镜像:(所有中间件及前后端服务,包含全部设计器) docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.0:5.0.25 部署镜像:(包含前后端服务,包含全部设计器) docker pull harbor.oinone.top/oinone/oinone-designer-mini-v5.0:5.0.25 流程设计器镜像:(包含前后端服务,仅包含流程设计器) PS:原workflow-designer-standard-v5.0镜像不再提供,请更换为该镜像。 docker pull harbor.oinone.top/oinone/workflow-designer-v5.0:5.0.25 后端镜像:(仅包含后端服务,包含全部设计器) docker pull harbor.oinone.top/oinone/designer-backend-v5.0:5.0.25 前端镜像:(仅包含前端服务,包含全部设计器) PS:前端镜像版本为独立版本,与其他镜像版本不同。原基础镜像为nginx-1.21.0版本,从5.0.8版本开始使用nginx-1.24.0版为基础镜像 docker pull harbor.oinone.top/oinone/designer-frontend-v5.0:5.0.37 独立部署所有设计器JAR:(后端服务,包含所有设计器)pamirs-designer-boot-v5.0-5.0.25.jarpamirs-designer-boot-v5.0-latest.jar 独立部署流程设计器JAR:(后端服务,仅包含流程设计器)pamirs-workflow-designer-boot-v5.0-5.0.25.jarpamirs-workflow-designer-boot-v5.0-latest.jar 后端无代码设计器Jar包启动方法 如果您有任何问题、建议或反馈,请随时联系我们。为了获得最佳体验,请及时更新至最新版本。我们将继续努力改进产品,提供更好的服务。谢谢!

    2024年9月12日
    1.7K00
  • 5.0.4版本feature:新增选择字段导出功能,请升级对应版本

    版本号: 5.0.14 版本发布日期:2024.08.08更新要点: 修复行权限报行过滤条件重复的问题 5.0.14 版本 升级说明及步骤(已升级为5.0.0版本忽略) 此版本与4.7.8版本的兼容方案如下,请严格参照升级说明及步骤进行1、【重要】升级前备份base库和用户权限模块所在的库 2、【重要】升级过程执行SQL严格按照升级文档中的步骤执行。特别注意:部分SQL是要求【发布前执行】,部分SQL是要求【发布后执行】 5.0.0升级详细说明及步骤 升级内容(5.0.0) 新增选择字段导出功能 分享按钮允许拖放至表格行内 后端请求统一改为同步执行,如需异步执行,可使用pamirs.framework.gateway.async: true进行开启。启用前请检查自定义Session是否支持子线程可见。 修复同步导出提示无权限的问题 界面设计器-客户端动作在创建时允许输入前端动作名称进行注册 界面设计器修复表单复制为详情时,在存在多对一表单时报错的问题 界面设计器修复选项页中组件无法正常拖拽的问题 界面设计器菜单绑定URL移除长度限制 请尽可能保证业务工程前后端服务以及设计器同步升级前端服务仅需重新执行npm install即可自动升级到最新版本 版本包信息 Oinone平台部署及依赖说明(v5.0) 未使用到的版本号请忽略,按项目中使用到的进行替换。 <!– 平台基础 –> <pamirs.middleware.version>5.0.2</pamirs.middleware.version> <pamirs.k2.version>5.0.10</pamirs.k2.version> <pamirs.framework.version>5.0.25</pamirs.framework.version> <pamirs.boot.version>5.0.18</pamirs.boot.version> <pamirs.distribution.version>5.0.6</pamirs.distribution.version> <!– 平台功能 –> <pamirs.metadata.manager>5.0.1</pamirs.metadata.manager> <pamirs.core.version>5.0.37</pamirs.core.version> <pamirs.workflow.version>5.0.9</pamirs.workflow.version> <pamirs.workbench.version>5.0.3</pamirs.workbench.version> <pamirs.data.visualization.version>5.0.3</pamirs.data.visualization.version> <!– 设计器 –> <pamirs.designer.common.version>5.0.4</pamirs.designer.common.version> <pamirs.flow.designer.base.version>5.0.3</pamirs.flow.designer.base.version> <pamirs.workflow.designer.version>5.0.2</pamirs.workflow.designer.version> <pamirs.model.designer.version>5.0.2</pamirs.model.designer.version> <pamirs.ui.designer.version>5.0.15</pamirs.ui.designer.version> <pamirs.data.designer.version>5.0.2</pamirs.data.designer.version> <pamirs.dataflow.designer.version>5.0.3</pamirs.dataflow.designer.version> <pamirs.eip.designer.version>5.0.4</pamirs.eip.designer.version> 注意镜像名称变化 镜像说明 所有镜像均使用docker manifest支持amd64和arm64架构。如镜像拉取过慢,可在对应镜像Tag添加-amd64、-arm64后缀获取单一架构镜像。 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.0:5.0.14.3-amd64 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.0:5.0.14.3-arm64 镜像拉取 镜像或JAR版本:5.0.14.3 体验镜像:(所有中间件及前后端服务,包含全部设计器) docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.0:5.0.14.3 部署镜像:(包含前后端服务,包含全部设计器) docker pull harbor.oinone.top/oinone/oinone-designer-mini-v5.0:5.0.14.3 流程设计器镜像:(包含前后端服务,仅包含流程设计器) PS:原workflow-designer-standard-v5.0镜像不再提供,请更换为该镜像。 docker pull harbor.oinone.top/oinone/workflow-designer-v5.0:5.0.14.3 后端镜像:(仅包含后端服务,包含全部设计器) docker pull harbor.oinone.top/oinone/designer-backend-v5.0:5.0.14.3 前端镜像:(仅包含前端服务,包含全部设计器) PS:前端镜像版本为独立版本,与其他镜像版本不同。原基础镜像为nginx-1.21.0版本,从5.0.8版本开始使用nginx-1.24.0版为基础镜像 docker pull harbor.oinone.top/oinone/designer-frontend-v5.0:5.0.26 独立部署所有设计器JAR:(后端服务,包含所有设计器)pamirs-designer-boot-v5.0-5.0.14.3.jarpamirs-designer-boot-v5.0-latest.jar 独立部署流程设计器JAR:(后端服务,仅包含流程设计器)pamirs-workflow-designer-boot-v5.0-5.0.14.3.jarpamirs-workflow-designer-boot-v5.0-latest.jar 后端无代码设计器Jar包启动方法 如果您有任何问题、建议或反馈,请随时联系我们。为了获得最佳体验,请及时更新至最新版本。我们将继续努力改进产品,提供更好的服务。谢谢!

    2024年8月8日
    1.3K00
  • 5.0.4版本feature:新增数据大屏中的边框组件支持背景图,请升级对应版本

    版本号: 5.0.24 版本发布日期:2024.09.10更新要点: 新增数据大屏中的边框组件支持背景图 5.0.24 版本 升级说明及步骤(已升级为5.0.0版本忽略) 此版本与4.7.8版本的兼容方案如下,请严格参照升级说明及步骤进行1、【重要】升级前备份base库和用户权限模块所在的库 2、【重要】升级过程执行SQL严格按照升级文档中的步骤执行。特别注意:部分SQL是要求【发布前执行】,部分SQL是要求【发布后执行】 5.0.0升级详细说明及步骤 升级内容(5.0.0) 新增数据大屏中的边框组件支持背景图 修复数据大屏中间元素拖动后导致无法拖入新的组件 请尽可能保证业务工程前后端服务以及设计器同步升级前端服务仅需重新执行npm install即可自动升级到最新版本 版本包信息 Oinone平台部署及依赖说明(v5.0) 未使用到的版本号请忽略,按项目中使用到的进行替换。 <!– 平台基础 –> <pamirs.middleware.version>5.0.3</pamirs.middleware.version> <pamirs.k2.version>5.0.11</pamirs.k2.version> <pamirs.framework.version>5.0.34</pamirs.framework.version> <pamirs.boot.version>5.0.24</pamirs.boot.version> <pamirs.distribution.version>5.0.12</pamirs.distribution.version> <!– 平台功能 –> <pamirs.metadata.manager>5.0.1</pamirs.metadata.manager> <pamirs.core.version>5.0.45</pamirs.core.version> <pamirs.workflow.version>5.0.12</pamirs.workflow.version> <pamirs.workbench.version>5.0.3</pamirs.workbench.version> <pamirs.data.visualization.version>5.0.4</pamirs.data.visualization.version> <!– 设计器 –> <pamirs.designer.common.version>5.0.5</pamirs.designer.common.version> <pamirs.flow.designer.base.version>5.0.3</pamirs.flow.designer.base.version> <pamirs.workflow.designer.version>5.0.2</pamirs.workflow.designer.version> <pamirs.model.designer.version>5.0.2</pamirs.model.designer.version> <pamirs.ui.designer.version>5.0.20</pamirs.ui.designer.version> <pamirs.data.designer.version>5.0.2</pamirs.data.designer.version> <pamirs.dataflow.designer.version>5.0.3</pamirs.dataflow.designer.version> <pamirs.eip.designer.version>5.0.4</pamirs.eip.designer.version> 注意镜像名称变化 镜像说明 所有镜像均使用docker manifest支持amd64和arm64架构。如镜像拉取过慢,可在对应镜像Tag添加-amd64、-arm64后缀获取单一架构镜像。 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.0:5.0.24-amd64 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.0:5.0.24-arm64 镜像拉取 镜像或JAR版本:5.0.24 体验镜像:(所有中间件及前后端服务,包含全部设计器) docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.0:5.0.24 部署镜像:(包含前后端服务,包含全部设计器) docker pull harbor.oinone.top/oinone/oinone-designer-mini-v5.0:5.0.24 流程设计器镜像:(包含前后端服务,仅包含流程设计器) PS:原workflow-designer-standard-v5.0镜像不再提供,请更换为该镜像。 docker pull harbor.oinone.top/oinone/workflow-designer-v5.0:5.0.24 后端镜像:(仅包含后端服务,包含全部设计器) docker pull harbor.oinone.top/oinone/designer-backend-v5.0:5.0.24 前端镜像:(仅包含前端服务,包含全部设计器) PS:前端镜像版本为独立版本,与其他镜像版本不同。原基础镜像为nginx-1.21.0版本,从5.0.8版本开始使用nginx-1.24.0版为基础镜像 docker pull harbor.oinone.top/oinone/designer-frontend-v5.0:5.0.35 独立部署所有设计器JAR:(后端服务,包含所有设计器)pamirs-designer-boot-v5.0-5.0.24.jarpamirs-designer-boot-v5.0-latest.jar 独立部署流程设计器JAR:(后端服务,仅包含流程设计器)pamirs-workflow-designer-boot-v5.0-5.0.24.jarpamirs-workflow-designer-boot-v5.0-latest.jar 后端无代码设计器Jar包启动方法 如果您有任何问题、建议或反馈,请随时联系我们。为了获得最佳体验,请及时更新至最新版本。我们将继续努力改进产品,提供更好的服务。谢谢!

    2024年9月10日
    1.4K00
  • Oinone发布版本一览

    点击查看更多版本 20250312 为了更好的服务合作伙伴,便于所有发布版本可以有序迭代和升级,我们开始使用LTS(长期存储)版本对长期维护版本和镜像进行维护。 在未来的版本更新中,我们会将历史版本中需要长期保存版本标记为LTS,这个标记一般出现在一个新版本发布后的1-3个月。 LTS表示以下含义: 不再增加任何新特性的支持,这一点同第二位中版本号的维护一致。 不再主动修复高版本发现的已知BUG。 所有版本的修复迭代将统一使用第四位版本号进行维护,同时第三位小版本号不再更新。 版本迭代将长期使用同一篇发布日志进行维护,根据时间倒序追加在文档前。 7.x 注: 此版本需要使用JDK17环境进行开发和部署 Oinone平台部署及依赖说明(v6.3) 主要特性: 后端升级适配 JDK17 优化全平台界面交互 版本 发布日志 发布时间 主要更新内容摘要 备注 7.0.0 点击查看 20251217 升级 JDK17,优化全平台界面交互 6.x 注: 此版本为JDK8环境支持的最后一个长期存储和维护版本 Oinone平台部署及依赖说明(v6.3) 主要特性: 新增涡轮增加启动加速 新增AI设计器 新增虚拟字段 界面设计器支持下钻 Oinone 正式开源 工作流节点支持:拖拽、缩放、复制、剪切、粘贴等功能 工作流新增自动审批组件 EIP开放应用支持流控 集成设计器新增 MCP 流程设计器优化 优化全平台界面交互 版本 发布日志 发布时间 主要更新内容摘要 备注 6.4.0 点击查看 20251217 优化全平台界面交互 LTS 6.3.7 点击查看 20251217 集成设计器新增 MCP,流程设计器优化 6.3.0 点击查看 20250905 集成设计器新增 MCP,流程设计器优化 6.2.15 点击查看 20250905 Oinone 正式开源 6.2.0 点击查看 20250609 Oinone 正式开源 6.1.4 点击查看 20250612 新增AI设计器、虚拟字段 6.1.0 点击查看 20250418 新增AI设计器、虚拟字段 6.0.2 点击查看 20250418 新增涡轮增加启动加速 6.0.0 点击查看 20250312 新增涡轮增加启动加速 5.7.x 主要特性: 新增打印设计器 新增低无一体 版本 发布日志 发布时间 主要更新内容摘要 备注 5.7.4 点击查看 20250312 新增打印设计器、低无一体 LTS 5.3.x Oinone平台部署及依赖说明(v5.3) 主要特性: 新增微流设计器 版本 发布日志 发布时间 主要更新内容摘要 备注 5.3.9 点击查看 20250312 修复子表格导入导出权限控制异常的问题 LTS 5.3.8 点击查看 20250212 集成设计器支持文件集管理 5.3.7 点击查看 20250124 集成设计器支持文件集管理 5.3.6 点击查看 20250116 弹窗和抽屉新增全屏功能 5.3.5 点击查看 20250107 修复EIP参数转换异常的问题 5.2.x 主要特性: 界面设计器新增与其他设计器结合(调用工作流相关功能、调用集成设计器相关功能等) 流程设计器新增并发节点 数据可视化新增数据库、集成接口数据源 MSSQL(SQLServer)数据库方言支持 KDB(Kingbase8)数据库方言支持 版本 发布日志 发布时间 主要更新内容摘要 备注 5.2.21 点击查看 20250212 修复权限节点加载错误的问题 LTS 5.2.20 点击查看 20250116 修复动作上下文的value配置false不生效 5.2.19 点击查看 20250107 修复EIP参数转换异常的问题 5.2.18 点击查看 20241225 修复日期格式未根据语言配置转换的问题 5.1.x Oinone平台部署及依赖说明(v5.1) 主要特性: 新增元数据多环境在线发布功能 界面设计器新增菜单管理 系统设置新增多首页规则配置 版本 发布日志 发布时间 主要更新内容摘要 备注 5.1.17 点击查看 20241122 修复MQ注册时ConsumerGroup为空导致的异常 LTS…

    2024年8月24日
    4.1K00
  • 5.2.0版本feature:新增选项卡组件新增根据条件展示默认选项页,请升级对应版本

    版本号: 5.2.1 版本发布日期:2024.10.10更新要点:新增选项卡组件新增根据条件展示默认选项页 5.2.0 版本 升级说明及步骤(已升级为5.0.0版本忽略) 此版本与4.7.8版本的兼容方案如下,请严格参照升级说明及步骤进行1、【重要】升级前备份base库和用户权限模块所在的库 2、【重要】升级过程执行SQL严格按照升级文档中的步骤执行。特别注意:部分SQL是要求【发布前执行】,部分SQL是要求【发布后执行】 5.0.0升级详细说明及步骤 升级内容(5.2.0) 新增选项卡组件新增根据条件展示默认选项页 新增EIP日志可调节记录频率功能 修复权限在某些情况下,启用、禁用、移除角色时未正确授权的问题 修复搜索tab在重置搜索后默认值异常问题 修复动作基类处理搜索条件未获取列表选中项条件的问题 修复日期区间组件的校验错误提示 修复上传单个文件时限制数量无效的问题 修复集成设计器sql校验未正确处理文本类型变量的问题 请尽可能保证业务工程前后端服务以及设计器同步升级前端服务仅需重新执行npm install即可自动升级到最新版本 版本包信息 Oinone平台部署及依赖说明(v5.0) 未使用到的版本号请忽略,按项目中使用到的进行替换。 <!– 平台基础 –> <pamirs.middleware.version>5.0.3</pamirs.middleware.version> <pamirs.k2.version>5.2.1</pamirs.k2.version> <pamirs.framework.version>5.2.1</pamirs.framework.version> <pamirs.boot.version>5.2.2</pamirs.boot.version> <pamirs.distribution.version>5.2.1</pamirs.distribution.version> <!– 平台功能 –> <pamirs.metadata.manager>5.2.0</pamirs.metadata.manager> <pamirs.designer.metadata.version>5.2.0</pamirs.designer.metadata.version> <pamirs.core.version>5.2.1</pamirs.core.version> <pamirs.workflow.version>5.2.0</pamirs.workflow.version> <pamirs.workbench.version>5.2.0</pamirs.workbench.version> <pamirs.data.visualization.version>5.2.1</pamirs.data.visualization.version> <!– 设计器 –> <pamirs.designer.common.version>5.2.0</pamirs.designer.common.version> <pamirs.flow.designer.base.version>5.2.0</pamirs.flow.designer.base.version> <pamirs.workflow.designer.version>5.2.0</pamirs.workflow.designer.version> <pamirs.model.designer.version>5.2.0</pamirs.model.designer.version> <pamirs.ui.designer.version>5.2.1</pamirs.ui.designer.version> <pamirs.data.designer.version>5.2.2</pamirs.data.designer.version> <pamirs.dataflow.designer.version>5.2.0</pamirs.dataflow.designer.version> <pamirs.eip.designer.version>5.2.2</pamirs.eip.designer.version> 注意镜像名称变化 镜像说明 所有镜像均使用docker manifest支持amd64和arm64架构。如镜像拉取过慢,可在对应镜像Tag添加-amd64、-arm64后缀获取单一架构镜像。 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.2:5.2.1.1-amd64 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.2:5.2.1.1-arm64 镜像拉取 镜像或JAR版本:5.2.1 体验镜像:(所有中间件及前后端服务,包含全部设计器) docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.2:5.2.1.1 部署镜像:(包含前后端服务,包含全部设计器) docker pull harbor.oinone.top/oinone/oinone-designer-mini-v5.2:5.2.1.1 流程设计器镜像:(包含前后端服务,仅包含流程设计器) docker pull harbor.oinone.top/oinone/workflow-designer-v5.2:5.2.1.1 后端镜像:(仅包含后端服务,包含全部设计器) docker pull harbor.oinone.top/oinone/designer-backend-v5.2:5.2.1.1 前端镜像:(仅包含前端服务,包含全部设计器) PS:前端镜像版本为独立版本,与其他镜像版本不同。原基础镜像为nginx-1.21.0版本,从5.0.7版本开始使用nginx-1.24.0版为基础镜像 docker pull harbor.oinone.top/oinone/designer-frontend-v5.2:5.2.3 独立部署所有设计器JAR:(后端服务,包含所有设计器)pamirs-designer-boot-v5.2-5.2.1.1.jarpamirs-designer-boot-v5.2-latest.jar 独立部署流程设计器JAR:(后端服务,仅包含流程设计器)pamirs-workflow-designer-boot-v5.2-5.2.1.1.jarpamirs-workflow-designer-boot-v5.2-latest.jar 后端无代码设计器Jar包启动方法 如果您有任何问题、建议或反馈,请随时联系我们。为了获得最佳体验,请及时更新至最新版本。我们将继续努力改进产品,提供更好的服务。谢谢!

    2024年10月10日
    1.1K00

Leave a Reply

Please Login to Comment