当前位置: 首页 > news >正文

深圳企业网站制作招聘信息微赞直播平台

深圳企业网站制作招聘信息,微赞直播平台,网站投票活动怎么做,网站美工效果图怎么做代码在 https://gitee.com/lbmb/mb-live-app 中 【mb-live-framework】 模块里面的【mb-live-framework-datasource-stater】 如果喜欢 希望大家给给star 项目还在持续更新中。 背景介绍#xff1a; 因为近期在自己写一套直播项目。使用到了sharding-jdbc来做分库分表的组件…代码在 https://gitee.com/lbmb/mb-live-app 中 【mb-live-framework】 模块里面的【mb-live-framework-datasource-stater】 如果喜欢 希望大家给给star 项目还在持续更新中。 背景介绍 因为近期在自己写一套直播项目。使用到了sharding-jdbc来做分库分表的组件 使用nacos 来做注册中心和远程配置 这样我们可以把application.yaml 接入到nacos 但是sharding.jdbc 的配置还要放在本地。 ShardingJDBC 4.0.0 版本开始移除了对 Nacos 的支持。在这个版本之后ShardingJDBC 不再直接支持使用 Nacos 作为配置中心。 项目介绍 因为我是通过自己写start的方式来配置 redis 和dataasource 配置 。所以结构如下 mb-live-user-provider 引入了 mb-live-framework-datasource-stater 的startermb-live-app │ ├── mb-live-api │ ├── src │ └── pom.xml │ ├── mb-live-common-interface │ ├── src │ └── pom.xml │ ├── mb-live-framework │ ├── mb-live-framework-datasource-stater │ │ ├── src │ │ └── pom.xml │ ├── mb-live-framework-redis-stater │ │ ├── src │ │ └── pom.xml │ └── pom.xml │ ├── mb-live-gateway │ ├── src │ └── pom.xml │ ├── mb-live-id-generate-interface │ ├── src │ └── pom.xml │ ├── mb-live-id-generate-provider │ ├── src │ └── pom.xml │ ├── mb-live-user-interface │ ├── src │ └── pom.xml │ └── mb-live-user-provider├── src└── pom.xmlShardingSphere Driver为什么无法支持Nacos ShardingSphere Driver的核心是自己提供了ShardingSphereDriver从而支持这种格式的JDBC URLjdbc:shardingsphere: p a t h / c o n f i g . y a m l 。我们可以把 S h a r d i n g S p h e r e 的规则写到 c o n f i g . y a m l 文件里然后通过 S h a r d i n g S p h e r e D r i v e r U R L P r o v i d e r 5.4.1 后改名 S h a r d i n g S p h e r e U R L P r o v i d e r 接口来支持不同的 {path}/config.yaml。我们可以把ShardingSphere的规则写到config.yaml文件里然后通过ShardingSphereDriverURLProvider5.4.1后改名ShardingSphereURLProvider接口来支持不同的 path/config.yaml。我们可以把ShardingSphere的规则写到config.yaml文件里然后通过ShardingSphereDriverURLProvider5.4.1后改名ShardingSphereURLProvider接口来支持不同的{path}的文件寻址方式。默认支持 SPI 机制 引入文档SPI机制的讲解 经过调研——及阅读源码 发现shardingjdbc的配置读取是通过ShardingSphereDriverURLManager 来读取的 接下来我们看源码发现这个是SPI 机制的表现形式 将所有实现了ShardingSphereDriverURLProvider 这个接口的类全部加载 /** 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.*/package org.apache.shardingsphere.driver.jdbc.core.driver;import org.apache.shardingsphere.driver.jdbc.exception.syntax.DriverURLProviderNotFoundException; import org.apache.shardingsphere.infra.util.spi.ShardingSphereServiceLoader;/*** ShardingSphere driver URL manager.*/ public final class ShardingSphereDriverURLManager {/*** Get config content from url.* * param url the driver url* return the config content*/public static byte[] getContent(final String url) {for (ShardingSphereDriverURLProvider each : ShardingSphereServiceLoader.getServiceInstances(ShardingSphereDriverURLProvider.class)) {if (each.accept(url)) {return each.getContent(url);}}throw new DriverURLProviderNotFoundException(url);} } 到这里了我们就很明了了。我们是否可以通过SPI机制的方式来重构sharding-jdbc 实现nacos 配置呢呢 根据上图 我们可以使用 加载覆盖原理 在mb-live-framework-datasource-stater 这个模块下 根据SPI 机制写一个配置 在META-INF 目录下 services目录 建一个 org.apache.shardingsphere.driver.jdbc.core.driver.ShardingSphereDriverURLProvider 文件 代码解读 accept 方法 主要是用来检测当前config配置 是否进行加载 匹配原则和 配置的 这个 url 有关 我写的匹配规则是 是否包含nacos 后面跟随要取的配置文件名称 getContent 方法 主要是读取配置文件里面的配置 并且进行加载感兴趣的可以自己读一下 其他 实现了ShardingSphereDriverURLProvider 接口的配置。 properties 里面的所有配置可以都按照规则写在这个spring.datasource.url 上面 通过解析后 写入到 properties 里面 configService NacosFactory.createConfigService(properties); resultConfig configService.getConfig(“mb-live-user-shardingjdbc.yaml”, “DEFAULT_GROUP”, 6000); 这两行代码则是nacos 读取配置的 代码 返回的讲是你在nacos上配置的yaml的内容信息 package com.manbu.live.farmework.datasource.config;import com.alibaba.nacos.api.NacosFactory; import com.alibaba.nacos.api.PropertyKeyConst; import com.alibaba.nacos.api.config.ConfigService; import com.google.common.base.Preconditions; import com.sun.security.auth.login.ConfigFile; import org.apache.commons.lang3.StringUtils; import org.apache.shardingsphere.driver.jdbc.core.driver.ShardingSphereDriverURLProvider; import org.springframework.core.convert.Property;import java.nio.charset.StandardCharsets; import java.util.Properties;/*** author hanWang* Title:* Package* Description:* date 2024/1/274:07 AM*/ public class NacosDriverURLProvider implements ShardingSphereDriverURLProvider {private static final String NACOS_TYPE nacos:;public NacosDriverURLProvider() {}public boolean accept(String url) {return StringUtils.isNotBlank(url) url.contains(NACOS_TYPE);}public byte[] getContent(String url) {ConfigService configService null;String resultConfig ;try {Properties properties new Properties();properties.put(PropertyKeyConst.SERVER_ADDR,nacos地址);properties.put(PropertyKeyConst.USERNAME,nacos账号);properties.put(PropertyKeyConst.PASSWORD,nacos密码);properties.put(PropertyKeyConst.NAMESPACE,namespace地址);configService NacosFactory.createConfigService(properties);resultConfig configService.getConfig(读取配置文件名需要带上后缀 例如.yaml, 分组信息默认是 DEFAULT_GROUP, 6000);} catch (Exception e){}return resultConfig.getBytes();}public static void main(String[] args) {} }
http://www.hkea.cn/news/14387256/

相关文章:

  • 网站建设模板登录界面网站开发详情
  • 网站建设丶金手指下拉14wordpress删除不了插件
  • 做网站月收入多少学院网站建设计划
  • 深圳建设招标网站首页标准百度网站建设
  • 科技网站备案苏州开设网站公司在什么地方
  • 做网站运营工作流程专业建站公司联系方式
  • 毛衣品 东莞网站建设写作的网站哪个好
  • 旅游网站建设背景分析报告百度自媒体平台
  • 手机微信网站怎么做的好哪个页面设计培训好
  • 网站开发与建设方向服装网站建设案例分析
  • 网站开发语言一般是用什么上海装修公司排名前十口碑
  • 深圳市罗湖网站建设肇庆网站建设维护
  • 网站建设教程平台网站建设需要在哪备案
  • 快速开租建站实训课做一个网站怎么做
  • 郑州微网站制作百度推广方法
  • 如何做摄影网站装修公司怎么拉客户
  • 哪家网站建设电话定制高端网站的公司
  • 国外专门做图像增强的网站微网站模板标签
  • 网站建设教程推荐游戏资讯网站哪个好
  • 苏州网站建设wordpress 留言 插件
  • .net企业网站上海闵行区
  • seo与网站建设哈尔滨建站怎么做
  • 昆山外贸型网站制作汽修厂营销活动方案
  • 城乡建设部网站造价工程师查询ppt网站哪家比较好
  • 快速免费做网站网站建设产品价格
  • 网站开发工程师中级高级企业网站最下面的那栏叫啥
  • 做详情页网站潍坊专业网站建设怎么收费
  • 福州网站建设专业定制在线crm管理系统
  • 哈尔滨搭建网站手机查看别人网站代码吗
  • 网络营销策划方案设计天津网站优化公司推荐哪家