JAVA常用开源工具与项目

【XXL开源社区】已经发布一系列开源软件产品,涉及分布式、基础中间件、效率工具等多个领域。包含项目有:任务调度、配置中心、通讯框架(+注册中心)、消息队列、SSO、API管理、爬虫……等等。  

     访问网址: https://www.xuxueli.com/page/projects.html

1.分布式任务调度平台: XXl-JOB

官网使用手册网址: https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0XXL-JOB%E3%80%8B

github源码地址:https://github.com/xuxueli/xxl-job

1.1 架构设计

1.1.1 设计思想

将调度行为抽象形成“调度中心”公共平台,而平台自身并不承担业务逻辑,“调度中心”负责发起调度请求。

将任务抽象成分散的JobHandler,交由“执行器”统一管理,“执行器”负责接收调度请求并执行对应的JobHandler中业务逻辑。

因此,“调度”和“任务”两部分可以相互解耦,提高系统整体稳定性和扩展性;

1.1.2 系统组成

  • 调度模块(调度中心):
    负责管理调度信息,按照调度配置发出调度请求,自身不承担业务代码。调度系统与任务解耦,提高了系统可用性和稳定性,同时调度系统性能不再受限于任务模块;
    支持可视化、简单且动态的管理调度信息,包括任务新建,更新,删除,GLUE开发和任务报警等,所有上述操作都会实时生效,同时支持监控调度结果以及执行日志,支持执行器Failover。
  • 执行模块(执行器):
    负责接收调度请求并执行任务逻辑。任务模块专注于任务的执行等操作,开发和维护更加简单和高效;
    接收“调度中心”的执行请求、终止请求和日志请求等。

1.1.3 架构图

输入图片说明

2.接口文档——Swagger

      SWAGGER 官网https://swagger.io/

      SpringBoot集成springfox-swagger2构建restful API :https://blog.csdn.net/u014231523/article/details/54562695

      SpringMVC集成springfox-swagger2构建restful API:https://blog.csdn.net/u014231523/article/details/54411026

      官方Swagger-Wiki使用详情:https://github.com/swagger-api/swagger-core/wiki/Annotations

        首先按照它的规范去定义接口及接口相关的信息。再通过Swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,生成多种语言的客户端和服务端的代码,以及在线接口调试页面等等。支持从设计和文档到测试和部署的整个API生命周期的开发。

常用注解    注解手册: https://docs.swagger.io/swagger-core/v1.3.12/apidocs/index.html?com/wordnik/swagger/annotations/ApiResponses.html

名称描述属性

@Api

将一个类标记为Swagger资源。 tags–表示说明 
value–也是说明,可以使用tags替代 
但是tags如果有多个值,会生成多个list
@ApiImplicitParam 表示API操作中的单个参数。  
@ApiImplicitParams 包装器,允许多个ApiImplicitParam对象的列表。 name–参数名
value–参数说明 
dataType–数据类型 
paramType–参数类型 
example–举例说明
@ApiModel 提供有关Swagger模型的其他信息。 value–表示对象名 
description–描述 
@ApiModelProperty 添加和操作模型属性的数据。 value–字段说明 
name–重写属性名字 
dataType–重写属性类型 
required–是否必填 
example–举例说明 
hidden–隐藏
@ApiOperation 描述针对特定路径的操作或通常的HTTP方法。 value用于方法描述 
notes用于提示内容 
tags可以重新分组(视情况而用) 
@ApiParam 为操作参数添加其他元数据。 name–参数名 
value–参数说明 
required–是否必填
@ApiResponse 描述操作的可能响应。  
@ApiResponses 包装器,允许包含多个ApiResponse对象的列表。  
@Authorization 声明要在资源或操作上使用的授权方案。  
@AuthorizationScope 描述OAuth2授权范围。  

3.JAVA常用插件

idea代码颜色搭配方案_推荐10个常用IDEA插件:https://blog.csdn.net/weixin_39885469/article/details/111252322

原文地址:https://www.cnblogs.com/q994321263/p/14058295.html