<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          LogiCommonJava 通用功能組件

          聯(lián)合創(chuàng)作 · 2023-10-01 07:19

          LogiCommon 是滴滴開源的 Java 版本的認(rèn)證、鑒權(quán)、管理、任務(wù)調(diào)度通用功能組件和公共模塊,包括 Logi-security、Logi-job。

          LogiCommon 會盡量保持與具體業(yè)務(wù)的解耦,以簡單易用,輕量高效,盡可能減少用戶感知的方式做到多平臺適配,同時提供可擴(kuò)展的接口,讓用戶自由擴(kuò)展 LogiCommon 的功能,以滿足具體的業(yè)務(wù)。

          • Logi-security 主要提供基礎(chǔ)功能服務(wù),主要分為認(rèn)證、鑒權(quán)、管理三部分功能。其中認(rèn)證包括了登錄、注冊、注銷等功能;鑒權(quán)包括了確定用戶的界面權(quán)限、資源權(quán)限的功能;管理包括了用戶、項目、角色、部門的基本操作的功能和操作日志、消息通知的調(diào)控功能;
          • Logi-job 是分布式的定時調(diào)度服務(wù)

          1.logi-security

          1.1 介紹

          logi-security 提供項目大多都需要基礎(chǔ)的一些功能(用戶、角色、權(quán)限、登錄、注冊、操作記錄),這些功能開發(fā)簡單但是開發(fā)起來又比較繁瑣和有一定的工作量(開發(fā)、測試、聯(lián)調(diào)、編寫接口文檔等等),所以打算把這類的功能抽取出來,整合進(jìn) Logi-security,讓這些項目開發(fā)人員更加專注于核心功能,避免時間花費在繁瑣的基礎(chǔ)功能的開發(fā)。

          1.2 功能支持

          主要提供:用戶、項目、角色、部門、界面權(quán)限、資源權(quán)限、操作日志、消息通知

          • 用戶模塊:提供了注冊、登錄、認(rèn)證功能,以及用戶信息的展示等基礎(chǔ)功能;
          • 項目模塊:提供了創(chuàng)建、刪除、展示、更改運行狀態(tài)等功能;
          • 部門模塊:提供了部門信息導(dǎo)入、部門樹形結(jié)構(gòu)展示等功能;
          • 界面權(quán)限模塊:提供界面權(quán)限信息的導(dǎo)入、界面功能展示控制等功能;
          • 資源權(quán)限模塊:提供對項目具體資源的權(quán)限管理;
          • 操作日志模塊:記錄用戶的操作記錄,展示記錄;
          • 消息通知模塊:用戶擁有的角色、擁有的資源權(quán)限變更等通知。

          1.3 使用方式

          1.3.1 添加Maven

          <dependency>
              <groupId>io.github.zqrferrari</groupId>
              <artifactId>logi-security-spring-boot-starter</artifactId>
              <version>1.6.3</version>
          </dependency>

          1.3.2 配置文件

          logi-security基于springBoot框架開發(fā),需添加以下配置信息:

          logi.security.app-name: ES
          logi.security.resource-extend-bean-name: myResourceExtendImpl
          
          # ---------------數(shù)據(jù)源信息---------------
          logi.security.username=root
          logi.security.password=123456
          logi.security.url=jdbc:mysql://localhost:3306/logi_security?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
          logi.security.driver-class-name=com.mysql.jdbc.Driver
          • app-name:表示應(yīng)用的名稱,涉及到 logi-security 的數(shù)據(jù)庫操作都會帶上這個條件(查詢、保存等操作);
          • resource-extend-bean-name:resourceExtend的實現(xiàn)類在spring容器bean的名稱,logi-security 中資源權(quán)限管理模塊,需要獲取具體資源的信息,所以用戶需實現(xiàn) ResourceExtend 接口并指定實現(xiàn)類在spring容器中bean的名稱;

          1.3.3 需要實現(xiàn)接口

          用戶可選的實現(xiàn) ResourceExtend 接口,如果不實現(xiàn),則資源權(quán)限管理模塊的功能不能完整使用。接口詳情見代碼

          1.3.4 導(dǎo)入數(shù)據(jù)

          logi-security相關(guān)界面并沒提供【角色權(quán)限元數(shù)據(jù)、資源類別數(shù)據(jù)、部門信息數(shù)據(jù)、操作日志相關(guān)(操作頁面、操作對象、對象分類)】的創(chuàng)建功能,logi-security提供了數(shù)據(jù)導(dǎo)入的接口。 建議全部都導(dǎo)入,簡單的數(shù)據(jù)也行。

          2.logi-job

          2.1 介紹

          是分布式的定時調(diào)度服務(wù)。

          2.2 功能支持

          主要提供:分布式定時調(diào)度服務(wù)、任務(wù)管理、分布式鎖等功能

          • 分布式定時調(diào)度服務(wù):添加指定注解,并實現(xiàn)規(guī)定的接口,編寫待調(diào)度的方法;
          • 任務(wù)管理模塊:提供查看任務(wù)列表、任務(wù)詳情、手動執(zhí)行任務(wù)、變更任務(wù)狀態(tài)、任務(wù)日志等功能;
          • 分布式鎖機(jī)制:確保多系統(tǒng)下,對于臨界資源的保護(hù),和調(diào)節(jié)調(diào)度秩序,防餓死。

          2.3 使用方式

          2.3.1 添加Maven

          <dependency>
              <groupId>io.github.zqrferrari</groupId>
              <artifactId>logi-job-spring-boot-starter</artifactId>
              <version>1.0.10</version>
          </dependency>

          2.3.2 配置信息

          logi-job基于springBoot框架開發(fā),在使用的時候需要在配置文件中增加幾項配置信息,如下:

          spring:
            logi-job:
              jdbc-url: jdbc:mysql://localhost:3306/es_manager_test?useUnicode=true&characterEncoding=utf8&jdbcCompliantTruncation=true&allowMultiQueries=true&useSSL=false
              username: root
              password: 123456
              driver-class-name: com.mysql.jdbc.Driver
              max-lifetime: 60000
              init-sql: true
              init-thread-num: 10
              max-thread-num: 20 #調(diào)度最大線程數(shù)
              log-exipre: 3  #日志保存天數(shù),以天為單位
              app_name: arius_test02 #應(yīng)用名,用戶隔離機(jī)器和環(huán)境
              claim-strategy: com.didiglobal.logi.job.core.consensual.RandomConsensual #調(diào)度策略,有兩種隨機(jī)和廣播,默認(rèn)是隨機(jī)

          2.3.3 使用樣例

          package com.didichuxing.datachannel.arius.admin.task.metadata;
          
          import com.didichuxing.datachannel.arius.admin.metadata.job.cluster.monitor.esMonitorJob.MonitorJobHandler;
          import com.didiglobal.logi.job.annotation.Task;
          import com.didiglobal.logi.job.common.TaskResult;
          import com.didiglobal.logi.job.core.job.Job;
          import com.didiglobal.logi.job.core.job.JobContext;
          import org.slf4j.Logger;
          import org.slf4j.LoggerFactory;
          import org.springframework.beans.factory.annotation.Autowired;
          
          // @Task 注解自帶了 @Component
          @Task(name = "esMonitorJob", description = "monitor調(diào)度任務(wù)", cron = "0 0/1 * * * ? *", autoRegister = true)
          public class ESMonitorJobTask implements Job {
              private static final Logger LOGGER = LoggerFactory.getLogger(ESMonitorJobTask.class);
          
              @Autowired
              private MonitorJobHandler monitorJobHandler;
          
              @Override
              public TaskResult execute(JobContext jobContext) throws Exception {
                  LOGGER.info("class=ESMonitorJobTask||method=execute||msg=start");
                  monitorJobHandler.handleJobTask("");
                  return TaskResult.SUCCESS;
              }
          }

          3.logi-log

          3.1 介紹

          集成了:logi-log-log、logi-log-log4j2。

          3.2 添加maven

          <dependency>
              <groupId>io.github.zqrferrari</groupId>
              <artifactId>logi-log-log</artifactId>
              <version>1.0.4</version>
          </dependency>

          3.2 logi-log-log

          logi-log-log是基于slf4j封裝的組件,為用戶提供日志相關(guān)功能。各個業(yè)務(wù)可以選擇log4j,logback,log4j2,只要配置上橋接就可以使用。

          瀏覽 34
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  自拍偷拍网页 | 黄片在现免费观看 | 一道本无码在线播放 | 99视频在线观看视频 | 国产精品内射视频免费 |