Giter Site home page Giter Site logo

yizzuide / milkomeda Goto Github PK

View Code? Open in Web Editor NEW
122.0 11.0 43.0 2.43 MB

Spring extend componets which build from experience of bussiness, let developers to develop with Spring Boot as fast as possible.(基于Spring生态打造的一系列来自业务上的快速开发模块集合。)

License: MIT License

Java 99.20% Lua 0.27% HTML 0.27% Kotlin 0.27%
java spring spring-boot redis cache httpclient spring-security spring-task delay-queue quartz

milkomeda's Introduction

Milkomeda

tag Maven Central Java CI Code Coverage Production Ready license

The project name is inspired by the fact that the Milky Way and Andromeda galaxies will merge in the future, and like the Spring ecosystem, this project has a number of popular modular solutions.

This project is not demo or template, can be called "springboot plus" (sounds like a great project), each module needs to be enabled with the appropriate annotations.

中文文档

Goals

  • Use meta-configuration whenever possible.
  • Use annotations whenever possible.
  • Use declarative programming whenever possible.

Modules

  • Pulsar: Used for long polling, fast-timeout. 0.1.0+
    • Depends on: Spring MVC
  • Comet: Used for uniform request facet logging (include controller layer and service layer (1.12.0+)). 0.2.0+
    • Depends on: Spring MVC
  • Pillar: Used for if/else business block splitting. 0.2.0+
    • Depends on: Spring IoC
  • Particle: Support idempotent, times and Bloom limiter (3.9.0), also allow an extensible limiter chain of responsibility. 1.5.0+
    • Depends on: Spring MVC, SpringBoot Data Redis
  • Light: Used for data cache, support super cache (ThreadLocal), L1 cache(RAM), L2 cache (Redis). 1.8.0+
    • Depends on: SpringBoot Data Redis
  • Fusion: Used for dynamic modify method return value, invoke methods based on conditions (support fallback when condition is disallow). 1.12.0+
    • Depends on: Spring AOP
  • Echo: Integrating the RestTemplate with support sign/unsigned with RSA, encryption with AES, uniform response and verification . 1.13.0+
    • Depends on: Spring MVC
  • Crust: Used for both session login and jwt Token stateless login, support config token encryption with RSA and AES. 1.14.0+
    • Depends on: Spring Security
  • Ice: Used for delay queue, support delay bucket, TTR, task auto schedule. 1.15.0+
    • Depends on: Spring IoC, Spring Task, SpringBoot Data Redis
  • Neutron: Used for time task,support create/delete/update job online. 1.18.0+
    • Depends on: Spring IoC, Quartz
  • Moon: Used for polling between multiple type values, support for concurrent operations, support for generic data values, and isolation of different services. 2.2.0+
    • Depends on: Spring IoC, SpringBoot Data Redis
  • Halo: Used for listen Mybatis CRUD. 2.5.0+
    • Depends on: Mybatis
  • Hydrogen: Used for aop transactions, unified exception response handling (also support for custom exceptions), parameter validation, internationalization, add interceptors and filters dynamically (support for loaded online). 3.0.0+
    • Depends on: Spring MVC
  • Atom: Used for distributed lock, support both Redis and Zookeeper solution. 3.3.0+
    • Depends on: Redission, Curator-Recipes
  • Wormhole: The event bus designed based on DDD architecture module can be used for event flow, big data business event production and output. 3.3.0+
    • Depends on: Spring IoC
  • Sundial: Used for master-slave data source switching, addition supports sub-table with consistency of the Hash (3.8.0+). 3.4.0+
    • Depends on: Spring JDBC, Mybatis
  • Jupiter: Lightweight rule engine based on data source queries, query filtering with request domains extract expression (such as $params, $attr, $header),and result matching with EL/OGNL expression parsing. 3.5.0+
    • Depends on: Spring JDBC, Spring EL, OGNL
  • Metal: Used for distributed dynamic configuration refresh based on KV data and support property-binding injection. 3.6.0+
    • Depends on: Spring IoC, SpringBoot Data Redis
  • Orbit: Add method interceptor only with yml config or using @Orbit. 3.13.0+
    • Depends on: Spring AOP
  • Sirius: Mybatis-plus addition support, such as page query with @QueryMatcher, remove before check ref with @RefMatcher. 3.14.0+
    • Depends on: Mybatis-plus

Requirements

  • Java 8
  • Lombok 1.18.x
  • SpringBoot 2.x

Version control guidelines

Milkomeda Spring Boot
3.15.x 2.7.x
3.14.x 2.6.x
3.13.x 2.4.x - 2.5.x
3.0 - 3.12.x 2.2.x - 2.3.x
1.16.x - 2.x 2.1.x
Dalston.1.11.0-Dalston.1.12.0 Spring Boot 1.5.x

Installation

<dependency>
    <groupId>com.github.yizzuide</groupId>
    <artifactId>milkomeda-spring-boot-starter</artifactId>
    <version>${milkomeda-last-version}</version>
</dependency>

Upgrade

3.0 Release

Milkomeda 3.0 is now available(April 2020).

  • YML config, promoted to first-class of development, allows developers to start quickly.
  • Add a new module called Hydrogen, the infrastructure functions of Spring and SpringMVC are all taken over, and explored from the source level.
  • The aggregation ability of functional modules has strengthened to achieve the improvement of the small world within the big world.

Documentation

See Wiki

Releases log

See Releases

Contributing

This project needs more developers to work together, join us with some notice as the following:

  • If you have a better idea, please submit a new issue with [feature] prefix.
  • Fork from master branch, check out a new branch named like feat_module_yyyyMMdd for add new module,fix_module_yyyyMMdd for fixing issues.
  • The newly added module should be as universal as possible, also provide demo in MilkomedaDemo as better.
  • The newly added module must be under package com.github.yizzuide.milkomeda with addition module name subpackage, and can be enabled with annotation in Spring Boot environment.
  • Don't commit IDE config file and OS temp file, please add to .gitignore file.
  • The last thing, pull request for me with master branch or dev-xxx if there is a recent new version development branch.

Author

yizzuide [email protected]

License

Milkomeda is available under the MIT license. See the LICENSE file for more info.

Sponsors

IntelliJ IDEA

milkomeda's People

Contributors

jsqi avatar yizzuide avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

milkomeda's Issues

Mac OSX下MAVEN生成javadoc报错

执行环境

  • Java版本:1.8.0_171
  • 系统版本:macOS High Sierra 10.14.6
  • Maven版本:3.2.5
  • IDE 版本:IDEA 2018.1.2

报错说明

在Mac OSX系统中使用IDEA编译器执行项目的 mvn install 命令,报如下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar (attach-javadocs) on project infra-sofa-boot-starter: MavenReportException: Error while creating archive: Unable to find javadoc command: The environment variable JAVA_HOME is not correctly set. -> [Help 1]

问题研究

去网上查询解决方法,发现大多和 maven-javadoc-plugin 2.9.x 版本相关,猜测可能是该插件 2.9.x 版本存在的bug。

尝试了以下解决方案,都不再报错:

升级 maven-javadoc-plugin 版本到 2.10.1 及以上。

建议说明

建议 milkomeda-spring-boot-starter 升级 maven-javadoc-plugin 插件的版本。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.