org.coodex:concrete-rx

concrete service definition spec.

License

License

Categories

Categories

Dex General Purpose Libraries Utility
GroupId

GroupId

org.coodex
ArtifactId

ArtifactId

concrete-rx
Last Version

Last Version

0.2.3
Release Date

Release Date

Type

Type

jar
Description

Description

concrete service definition spec.

Download concrete-rx

How to add to project

<!-- https://jarcasting.com/artifacts/org.coodex/concrete-rx/ -->
<dependency>
    <groupId>org.coodex</groupId>
    <artifactId>concrete-rx</artifactId>
    <version>0.2.3</version>
</dependency>
// https://jarcasting.com/artifacts/org.coodex/concrete-rx/
implementation 'org.coodex:concrete-rx:0.2.3'
// https://jarcasting.com/artifacts/org.coodex/concrete-rx/
implementation ("org.coodex:concrete-rx:0.2.3")
'org.coodex:concrete-rx:jar:0.2.3'
<dependency org="org.coodex" name="concrete-rx" rev="0.2.3">
  <artifact name="concrete-rx" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.coodex', module='concrete-rx', version='0.2.3')
)
libraryDependencies += "org.coodex" % "concrete-rx" % "0.2.3"
[org.coodex/concrete-rx "0.2.3"]

Dependencies

compile (2)

Group / Artifact Type Version
org.coodex : concrete-api jar 0.2.3
io.reactivex.rxjava2 : rxjava jar 2.1.3

Project Modules

There are no modules declared in this project.

Concrete

主分支已切换到0.5.0快照版,项目结构优化、功能完善中,稳定版请转到0.4.x

concrete.coodex.org

感谢JetBrains提供IDE工具开源授权。

什么鬼?

Concrete是一种基于Java的服务定义规范

@ConcreteService
public interface SomeService {
    
    @AccessAllow
    String someMethod();
    
}

干哈滴?

致力于让研发者将精力尽可能多的投入到需求分析、业务逻辑和用户体验上

怎么搞?

,多练

其他项目

coodex-libraries 点我看文档

2020-10-12

  • 废弃ConcreteServiceLoaderProvider,改为使用org.coodex.spring.SpringServiceLoaderProvider

2020-10-11

  • 根据coodex-libraries的ActiveProfiles机制,增加SpringActiveProfilesProvider,使用spring-boot时,coodex Profile与Spring active profiles机制一致

2020-05-15

  • 废弃OperationLog机制,对于开发者并没有足够的优势

2020-05-13

  • 根据coodex-libraries的更新,重构ErrorCodes部分,调整如下:
    • 使用org.coodex.util.Renderer渲染错误信息
    • 增加@ErrorCode注解,用来声明一个class是用来进行错误码定义的,其value可以指定message template在I18N下的命名空间,关于在此类中定义的错误码:
      • 错误码必须是public的
      • 错误码必须是final的
      • 错误码必须是int类型
    • 增加@ErrorCode.Key注解,用来定义错误码I18N下的键
    • 增加@ErrorCode.Template注解,用来指定明确的template,如此值非空,则直接使用此模板
    • 废弃org.coodex.concrete.common.AbstractErrorCodes
    • 删除@ErrorMsg

2020-04-17

  • concrete-client缺陷修复,LocalDestinationFactory的选择判定有误
  • org.coodex.concrete.Client提供newBuilder接口,可以传递附加信息,使用方法
  Client.Builder<SomeService> someServiceBuilder = Client.newBuilder(SomeService.class);
  // ......
  Map<String, String> subjoin = new HashMap<>();
  // 设置需要传递的附加信息
  someServiceBuilder.withSubjoin(subjoin).someMethod();

2020-04-13

  • coodex-utilities: 增加IDGenerator,分布式字符串ID生成器的Facade;增加UUID和SnowFlake的实现;
  • bug fixed: SPI中使用Supplier作为默认值的提供者时会重复创建实例的问题
  • 分离coodex-libraries

2020-03-27

  • SPI机制优化,强化了泛型匹配,强化了基于java.util.ServiceLoader的加载器
  • 结构继续完善调整,为项目分拆做准备

2020-03-21

  • 0.5.0初次提交
  • 结构优化,大部分早期代码调整到java8语言规范
  • SingletonMap改为Builder模式

2020-03-08

  • 发布0.4.0,0.4.x分支仅用于缺陷修复,不再增加新能力
  • 开启0.5.x分支,TODO
    • 放弃对java8以前版本的支持
    • 重构SPI部分
    • 项目结构分拆
    • 其他优化

Versions

Version
0.2.3
0.2.2
0.2.1