# ljdp-component **Repository Path**: hzy0769/ljdp-component ## Basic Information - **Project Name**: ljdp-component - **Description**: 轻量级java开发平台组件部分,使用接口定义了一些常用功能,主要是id生成器。还用接口定义了一些常用对象,例如接口结果对象,分页对象,错误对象等。同时提供了一些基础实现,大部分情况下直接使用基础实现就可以了,特殊情况可以自己编写实现,由于使用接口设计,业务代码不需要更改。例如更换不同的序列生成器。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-04-17 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 轻量java开发平台组件部分 使用接口定义了一些常用功能,主要是id生成器。还用接口定义了一些常用对象,例如接口结果对象,分页对象,错误对象等。同时提供了一些基础实现,大部分情况下直接使用基础实现就可以了,特殊情况可以自己编写实现,由于使用接口设计,业务代码不需要更改。例如更换不同的序列生成器。 ## 序列生成器 在org.ljdp.component.sequence下面 ### 集群并发序列:ConcurrentSequence 基于ip+时间实现的集群并发序列生成,线程安全 #### 有两个实例 ##### getInstance() 每台服务器每毫秒最多生成10个id,超出的请求会等待到下一个毫秒,连续等待10个毫秒如果还不能获取到序列那么抛出超时异常。 ##### getCentumInstance 每台服务器每毫秒最多生成100个id,超出的请求会等待到下一个毫秒,连续等待10个毫秒如果还不能获取到序列那么抛出超时异常。相比上面的实例,生成的id会更长些,特别是数字类型,在js中处理会有精度问题需要注意。 #### 有两个获取序列方法 ##### public long getSequence() 返回数字类型id ##### public String getSequence(String t) 返回字符类型的id,使用62进制编码,相比数字类型长度减少一半 ### 时间序列:TimeSequence 序列格式为:年月日时分秒毫秒+2位数字,线程安全,每毫秒最多生成10个序列。在集群使用中可能会和其他服务器冲突。支持返回数字和字符类型。 ### 唯一id序列器:UUIDHexSequence 线程安全,只能返回字符类型的序列。在集群环境下可以防止服务器之间的id冲突,性能没有限制,基于服务器性能。 ## 会话组件 在org.ljdp.component.session下面 ### 介绍 模仿HttpSession的实现,可用于一些非servlet容器中运行的网络应用实现session会话。 ## 结果组件 在org.ljdp.component.result下面 ### 介绍 定义了接口返回结果包含的一些常用信息和结构,便于规范不同系统,服务,组件之间通信。