宝兰德应用服务器微服务版本V11.5.0-接入ZooKeeper配置中心

宝兰德应用服务器微服务版本V11.5.0-接入ZooKeeper配置中心

本文介绍如何将宝兰德应用服务器微服务版本接入ZooKeeper配置中心,从配置中心获取配置文件并启动。本文档基于宝兰德应用服务器微服务版V11.5.0.007进行编写,若使用其他版本,请参考对应版本的用户手册。

宝兰德应用服务器微服务版本支持接入以下配置中心:

  • Nacos

  • ZooKeeper

  • ApolloConfig

  • 宝兰德分布式配置中心BES Distributed Config Service,简称DCS

1. 接入ZooKeeper配置中心

1.1 接入ZooKeeper配置中心需要引入的依赖

groupIdartifactIdversion说明
com.bes.appserverbes-lite-spring-boot-starter11.5.0.007嵌入式WEB容器实现
com.bes.appserverbes-configprovider-spring-boot-starter11.5.0.007配置中心支持
org.apache.zookeeperzookeeper${zookeeper.version}ZooKeeper客户端

1.2 加载ZooKeeperConfigProvider

在application.properites或者application.yml中配置如下选项触发加载ZooKeeperConfigProvider:

配置项说明
server.bes.spring.boot.config-provider.class指定为com.bes.enterprise.config.spring.boot.provider.ZooKeeperConfigProvider接入ZooKeeper配置中心

或者通过环境变量配置触发加载ZooKeeperConfigProvider:

export CONFIG_PROVIDER_CLASS=com.bes.enterprise.config.spring.boot.provider.ZooKeeperConfigProvider

1.3 ZooKeeperConfigProvider对应的配置项

配置项说明
spring.cloud.zookeeper.connect-stringZooKeeper配置中心的服务地址
spring.cloud.zookeeper.node指定ZooKeeper中用于存储应用的application.yml或者application.properties的数据节点
spring.cloud.zookeeper.file-extension指定配置的格式,可选值为:yaml,yml,properties

1.4 接入ZooKeeper配置中心示例

搭建和使用ZooKeeper集群请参考ZooKeeper相关手册。

1.4.1 在ZooKeeper配置中心添加宝兰德应用服务器微服务版使用的配置

在一个已有的ZooKeeper集群中添加一个数据节点/zookeeper/my_application.yml,其内容如下:

server:
  port: 9080
  address: 0.0.0.0
  bes:
    maxThreads: 200
    minSpareThreads: 2
    jdbc:
      name: myDataSource
      enabled: true
      username: mysql_username
      password: mysql_password
      url: jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf-8&useSSL=false
      driver-class-name: com.mysql.jdbc.Driver
      resource-type: java.sql.Driver
      jta-managed: false
      max-pool-size: 32
      min-idle: 8
    jdbcx.0:
      name: 
      enabled: true
      username: postgres_username
      password: postgres_password
      url: jdbc:postgresql://localhost:5432/otherdb
      driver-class-name: org.postgresql.Driver
      resource-type: java.sql.Driver
      jta-managed: false
      max-pool-size: 32
      min-idle: 8
1.4.2 在SpringBoot应用中配置连接ZooKeeper配置中心获取配置

应用的application.properties如下:

server.bes.spring.boot.config-provider.class=com.bes.enterprise.config.spring.boot.provider.ZooKeeperConfigProvider
spring.cloud.zookeeper.connect-string=localhost:2181,localhost:2182,localhost:2183
spring.cloud.zookeeper.node=/zookeeper/my_application.yml
spring.cloud.zookeeper.file-extension=yml
1.4.3 编写使用从ZooKeeper配置中心获取配置的应用

编写SpingBoot入口类:

package com.example.zookeeper.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ZooKeeperDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(ZooKeeperDemoApplication.class, args);
    }

}

在项目中使用ZooKeeper配置中心的/zookeeper/my_application.yml数据节点装配JDBC连接池:

package com.example.zookeeper.demo;

import org.springframework.stereotype.Service;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import java.sql.*;
import java.util.*;
@Service
public class BookService {

    private DataSource myDataSource;

    private DataSource getDataSource() throws SQLException {
        if (myDataSource != null) {
            return myDataSource;
        }

        try {
            InitialContext ctx = new InitialContext();
            DataSource ds = (DataSource) ctx.lookup("myDataSource");
            myDataSource = ds;
            return myDataSource;
        } catch (NamingException nmEx) {
            throw new SQLException("Failure to get datasource", nmEx);
        }
    }

    public void save(Book book) throws SQLException {
        Connection conn = null;
        PreparedStatement pstmt = null;
        try {
            conn = getDataSource().getConnection();
            String sql = "INSERT INTO BOOK(TITLE, AUTHOR, PRICE) VALUES(?,?,?)";
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, book.getTitle());
            pstmt.setString(2, book.getAuthor());
            pstmt.setBigDecimal(3, book.getPrice());
            pstmt.execute();
        } finally {
            closeQuietly(pstmt);
            closeQuietly(conn);
        }
    }

    // 省略其余逻辑
}

编译和启动SpringBoot应用,验证是否能从ZooKeeper配置中心获取配置:

mvn clean package
java -jar ./target/bes-lite-zookeeper-demo-1.0.0.jar

输出结果中出现:“Loading configuration from: zookeeper://localhost:2181,localhost:2182,localhost:2183.”则说明成功从ZooKeeper中拉取应用的配置:

2026-02-16T23:00:41.825+08:00  INFO 28780 --- [           main] e.c.s.b.l.RemoteConfigContextInitializer : Loading configuration from: zookeeper://localhost:2181,localhost:2182,localhost:2183.
2026-02-16T23:00:42.216+08:00  INFO 28780 --- [           main] c.e.z.demo.ZooKeeperDemoApplication      : Starting ZooKeeperDemoApplication using Java 21.0.8 with PID 28780
宝兰德微服务版V11.5.0接入ZooKeeper配置中心:从选型到落地实践 配置中心是微服务架构中实现配置集中管理与动态下发的核心组件。ZooKeeper作为分布式协调服务,提供稳定的节点存储与Watcher变更通知机制,天然适合承担配置中心角色。通过ZooKeeper集群部署,可实现配置的高可用与热更新,降低运维成本。在宝兰德应用服务器微服务版本V11.5.0中接入ZooKeeper,不仅复用已有注册中心基础设施,还能支撑服务级/全局配置管理、灰度发布和敏感信息ACL控制。该实践同样适用于Hadoop与ZooKeeper整合的大数据场景,也可作为微信无障碍服务等移动端风控策略的应 阅读详情

相关推荐

力软JNPF企业级低代码开发底座深度解析

低代码开发平台是现代企业数字化转型的核心基础设施,其本质并非简单表单生成器,而是融合可扩展架构、安全合规能力与国产化适配的开发底座。基于Spring Boot与Vue3的技术栈,支持多数据源路由、BPMN2.0流程引擎、Drools规则引擎及信创环境(麒麟V10、达梦、统信UOS)全栈兼容,具备源码可控、API可审计、组件可热更新等企业级工程能力。在制造业MES升级、政务系统等保三级建设、金融风控规则动态配置等典型场景中,已验证其在权限粒度控制、扩展点定制、高可用部署等方面的成熟实践。力软与JNPF企业版正

weixin_34279246的博客 322

【亲测免费】 宝兰德BES应用服务器:高效部署与管理的利器

宝兰德BES应用服务器:高效部署与管理的利器 【下载地址】宝兰德BES应用服务器使用手册和安装手册 这份详尽的手册是宝兰德技术团队精心编撰的成果,覆盖了从产品介绍、环境准备、安装步骤、配置优化到日常运维管理等所有关键环节。无论您是初次接触宝兰德BES的新用户,还是已经有一定经验的老手,这份文档都能成为您的强大助手 ...

gitblog_06608的博客 1654

宝兰德BES服务器打补丁步骤

在BES应用服务器的bin目录下,运行patch.bat(Windows)或./patch(Linux/Unix)命。当BES应用服务器发布新的特性时,有时会以补丁包的形式发布,BES应用服务器提供。补丁的命名规则与补丁包基本一致,但以 jar 文件形式存在,并以 V 开头,如。BES 应用服务器补丁包都以 zip 文件形式存在,并符合固定的命名规则,如。了补丁包的安装工具BES Patch,将补丁包安装到BES应用服务器上。第二位版本号 软件有计划的大的功能升级。第三位版本号 软件有计划的小的功能升级。

yf386599的博客 2865

宝兰德BES服务器管理控制台

在浏览器中输入 http://hostName:port/console 以访问管理控制台。iastool 脚本的相关命令完成管理控制台中相同任务集,iastool脚本命令的详细介绍请参。port是管理控制台的管理端。除了管理控制台,BES 应用服务器还提供了一个命令行脚本工具 iastool,使用。BES应用服务器管理控制台是一个基于Web浏览器的图形化管理工具,用户通过管理控。使用管理控制台,必须先启动服务器。BES 应用服务器管理控制台提供用户登录,对用户身份进行验证。2.2 使用管理控制台。

yf386599的博客 4686

SpringBoot信创迁移实战:从内嵌Tomcat到宝兰德BES的完整避坑指南

在信创改造背景下,将SpringBoot应用从内嵌Tomcat迁移至国产应用服务器宝兰德BES,是许多团队面临的工程挑战。其核心原理在于将SpringBoot的jar包模式转换为war包模式,通过依赖调整、web.xml约束声明和类加载策略配置,使SpringBoot适配外置Servlet容器。这一过程的技术价值在于兼顾信创合规与SpringBoot开发效率,避免业务代码大改。典型应用场景包括金融、政务等领域的后台系统国产化部署。迁移中需重点解决依赖冲突、类加载父优先、web.xml schema匹配等问题

weixin_34138056的博客 453

宝兰德应用服务器微服务版V11.5.0-安装和使用

宝兰德应用服务器微服务版V11.5.0是一款支持SpringBoot3.x和JakartaEE 10规范的WEB中间件产品,可替代SpringBoot内置容器。本文介绍了该产品的版本信息、安装方法及Maven依赖管理。安装介质包含部署脚本和依赖库文件,支持通过脚本或手动命令将依赖安装到本地Maven缓存或发布到远程仓库。产品提供Servlet容器、国密、JSP、JDBC连接池、WebSocket等可选功能模块,适用于JDK17及以上环境。

FantasyAppServer的博客 1876

宝兰德BES应用服务器部署应用日志报错`GC overhead limit exceeded Command deploy failed. java.lang.OutOfMemoryErro的处理办法

宝兰德BES应用服务器部署应用日志报错`GC overhead limit exceeded Command deploy failed. java.lang.OutOfMemoryErro的处理办法

yeyuningzi的博客 6163

宝兰德应用服务器微服务版本V11.5.0-装配和使用内置JDBC连接池

本文介绍了宝兰德应用服务器微服务版V11.5.0内置JDBC连接池的装配与使用方法。该连接池支持多实例创建、自动回收泄露连接、JTA事务等特性,提供三种装配方式:Starter自动装配、JNDI资源发布和手动装配。重点说明了Starter方式的配置步骤,包括依赖引入、application.yml配置示例以及代码中的依赖注入使用方法。通过内置JDBC连接池,开发者可以便捷地实现数据库连接管理,提高应用性能和可靠性。

FantasyAppServer的博客 810

【免费下载】 宝兰德BES应用服务器使用手册和安装手册

宝兰德BES应用服务器使用手册和安装手册 【下载地址】宝兰德BES应用服务器使用手册和安装手册 这份详尽的手册是宝兰德技术团队精心编撰的成果,覆盖了从产品介绍、环境准备、安装步骤、配置优化到日常运维管理等所有关键环节。无论您是初次接触宝兰德BES的新用户,还是已经有一定经验的老手,这份文档都能成为您的强大助手 ...

gitblog_06603的博客 1806

宝兰德应用服务器微服务版本V11.5.0-接入Nacos配置中心

摘要:本文介绍宝兰德应用服务器微服务版V11.5.0接入Nacos配置中心的方法,包括所需依赖、配置项说明及具体实施步骤。文章详细说明了如何通过NacosConfigProvider加载配置,并提供了完整的配置示例,包括Nacos服务端配置和客户端连接参数设置,帮助用户实现从Nacos配置中心获取应用服务器配置并启动服务。

FantasyAppServer的博客 867

宝兰德BES的节点手动创建

关于国产中间件宝兰德BES的节点创建 关于国产中间件宝兰德BES的节点创建关于国产中间件宝兰德BES的节点创建关于国产中间件宝兰德BES的节点创建关于国产中间件宝兰德BES的节点创建关于国产中间件宝兰德BES的节点创建关于国产中间件宝兰德BES的节点创建关于国产中间件宝兰德BES的节点创建关于国产中间件宝兰德BES的节点创建

10分钟熟练掌握宝兰德中间件部署 iServer

10 分钟熟练掌握宝兰德中间件部署 iServer

SuperMap技术控 6834

2023电视专用!安卓电子相册APP避坑指南(附开源代码)

本文针对2023年智能电视用户,提供安卓电子相册APP的避坑指南与实战教程。文章详细解析了电视端相册应用的常见广告与兼容性陷阱,并指导用户如何安全获取、部署纯净的APK应用,通过核心设置实现无广告的个性化图片轮播体验,最终打造专属的家庭回忆墙。

weixin_29012677的博客 498

宝兰德BES应用服务器部署应用报错:java.lang.OutOfMemory:Metspace

宝兰德BES应用服务器部署应用报错:java.lang.OutOfMemory:Metspace 问题处理办法

yeyuningzi的博客 1725

<202505高项>《【VIP合集】 软考高项(第四版)十大知识域、五大过程组、ITTO输入输出工具、项目绩效域》

软考高项(第四版)十大知识域、五大过程组、ITTO输入输出工具、项目绩效域

Else 的博客 1860

【科普知识】什么是驱控一体化伺服电机?

驱控一体化伺服电机以其高度的集成性、兼容性、便捷性以及卓越的性能表现,成为了现代工业自动化领域的一颗璀璨明珠。对于那些追求高效、精准、智能控制的行业用户而言,它无疑是一种理想的选择。

m0_46512607的博客 3151

查看linux的版本主要有三种方法

查看linux的版本主要有三种方法:1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:[root@3.5.5Biz-46 ~]# lsb_release -a LSB Version: 1.3Distributor ID: RedHatEnterpriseASDescription: Red Hat Enterprise Linux AS release 4

eysunglow 1972

深入探究贝叶斯网络(Bayesian Network):从基础原理到实际应用

贝叶斯网络,也称为信念网络或有向无环图模型,是一种概率图模型。它使用有向无环图(DAG)来表示随机变量之间的条件依赖关系。每个节点代表一个随机变量,边表示变量之间的条件依赖关系。贝叶斯网络作为一种强大的工具,通过结合概率论和图论,为复杂系统建模和推理提供了有效手段。无论是在医学诊断、故障检测还是自然语言处理等领域,它都展示了巨大的潜力。然而,其计算复杂度高、结构学习困难等挑战也需要我们在实际应用中不断优化算法和技术。希望通过本文,你能对贝叶斯网络有更深入的理解,并能够在实际项目中灵活应用这一强大工具。

qq_28791753的博客 5974

对nacos进行信创改造,将其中的tomcat替换为保兰德的中间件

本文介绍了如何将Nacos默认内嵌的Tomcat替换为国产BES Server的方法。Nacos作为国内主流的微服务中间件,其默认使用Tomcat可能不符合某些企业国产化要求。作者通过修改源码中的pom.xml文件,排除Tomcat依赖并引入BES Server组件,重新编译打包Nacos 2.5.2版本。具体步骤包括:准备JDK1.8和Maven环境、下载源码、修改依赖配置、执行编译命令。最终生成的部署包与官方启动方式一致,成功实现了中间件国产化替换需求。该方法为政府和企业用户提供了符合国产化要求的

做GIS梦的人 1995

第4篇:使用 NModbus 库快速搭建 Modbus TCP 通信(从零开始用 C# 开发 Modbus 上位机)

本文介绍了如何使用 NModbus 库快速搭建 Modbus TCP 上位机通信程序。通过安装 NModbus4 NuGet 包,开发者可以轻松实现 Modbus TCP 连接,无需手动处理底层协议细节。文章详细演示了核心功能实现: 创建 TCP 客户端连接设备 读取保持寄存器(功能码0x03) 写入单个寄存器(功能码0x06) 关闭连接释放资源 提供完整C#示例代码,包含初始化连接、数据读写等关键操作,帮助开发者快速构建Modbus TCP通信应用。相比手动实现,NModbus库大幅简化了开发流程,特别适

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1047

Python爬虫实战:逆向工程与异步爬虫技术,高效抓取国家知识产权局专利数据

相比于传统的Selenium,Playwright由微软开发,支持多浏览器(Chromium, Firefox, WebKit),API更现代,执行速度更快,并且能轻松录制用户操作生成代码。通常,列表中的摘要信息是缩略的,我们需要进入每个专利的详情页获取完整信息(如主权要求、法律状态等)。我们的第一步是手动操作一遍搜索流程,并用Playwright的“录制”功能或开发者工具,找出真正返回专利数据的那一个或多个网络请求。以友好的、对人类行为模拟的方式爬取数据是基本的网络礼仪,也能有效避免你的IP被封锁。

2201_76125261的博客 2424

宝兰德BES8.2搭建全过程,项目用到临时总结

1.安装前的准备 1.1 在安装 BES8.x 前,首先需要安装 JDK,建议安装较新版本的 JDK。 1.2 在服务器上 hosts 文件中添加主机名和物理 2.安装 把安装包上传到服务器上。 使⽤用命令 chmod 777 BES081000B7763-Redhat32AS_V52.bin,给安装包执行的权限。 运行命令./ BES08100

beloveddarling的博客 1万+

AI一键生成带货短视频:电商直播的未来

随着电子商务行业的快速发展,直播带货已成为一种极为有效的营销手段。然而,传统的人工直播方式存在诸多局限性,如人力成本高、主播培训周期长等问题。为了解决这些挑战,一种基于AI技术的一键生成带货视频解决方案应运而生——这就是“Anchor Crafter”。这项创新技术不仅能够自动创建高质量的带货视频,而且还能实现人物与商品之间的自然交互,极大地提升了用户体验。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 2208

【免费下载】 探索宝兰德BES9.5.2:一款卓越的测试学习工具箱

探索宝兰德BES9.5.2:一款卓越的测试学习工具箱 【下载地址】宝兰德BES9.5.2测试换金安装包 本仓库提供的是宝兰德BES9.5.2测试换金安装包,仅供学习使用。该安装包适用于测试环境,用户可以通过修改系统时间来规避授权限制,以便进行学习和测试 ...

gitblog_09700的博客 1102

02-Redis 核心特性与数据结构详解:揭秘高性能的技术内核

本文深度拆解 Redis 高性能的技术内核:揭秘其凭“内存存储 + C 语言开发” 实现微秒级延迟、10 万 + QPS 的性能优势;详解 5 种基础数据类型(String/Hash 等)与 4 种扩展数据类型(Stream/Geospatial 等)的特性及场景;还介绍多语言支持、RDB/AOF 持久化、主从复制 / 哨兵 / 集群等高可用方案,助读者掌握 Redis 技术核心与实践逻辑。

蜗牛老师,专注编程领域 997

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

宝兰德应用服务器微服务版V11.5.0——补丁升级

摘要 本文档详细介绍了宝兰德应用服务器微服务版从V11.5.0.006升级到V11.5.0.007的完整流程。升级采用全量补丁方式,包含两种主要方法:1)通过修改pom.xml更新Maven依赖坐标并重新打包;2)直接替换应用包中的相关jar文件。文档提供了具体的操作步骤和示例代码,包括备份策略、版本更新方法、测试验证流程以及回滚机制。特别强调了升级前必须做好备份,测试通过后再正式发布,否则需要恢复并联系技术支持。

FantasyAppServer的博客 701

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: 宝兰德应用服务器微服务版本V11.5.0-接入Nacos配置中心
NettySpring2026
博客等级 码龄1年 1粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值