# spatiotemporal-core 时空开放平台核心模块。以下简称核心模块(core),提供平台的最基础的核心公共功能。 ## 引用方式 核心模块(core)一般被Web端核心模块(web-core)和独立组件核心模块(comp-core)所引用。 如果应用工程在不依赖Web端核心模块和独立组件核心模块时,希望单独引用核心模块可以在POM.xml文件的dependencies中加入以下依赖。 ```xml cn.spatiotemporal spatiotemporal-core 1.0.0-RELEASE ``` 注意选择合适的版本。 ## 核心公共功能 ### 分布式支持 为支持应用工程的分布式部署,以部署模块为单位自动生成本地实例ID,用以区分复数个相同模块的不同运行实例。 ### 远程异步调用 基于RabbitMQ,提供统一便捷的远程异步调用支持。 远程异步调用指的是两个分开部署的模块之间,通过异步的方式进行调用并返回结果的过程。涉及异步调用的两个模块分别是客户端(调用者)和服务端(被调用者),调用命令通过MQ从客户端发往服务端,服务端执行完后将结果再通过MQ发往客户端,在客户端以回调的方式反馈给应用程序。 ### Redis缓存支持 基于Spring的RedisTemplate提供公共的redis访问对象RedisDao,以支持对redis的各种数据类型的操作。 ### FTP支持 基于Apache的FTPClient提供公共的FTP工具类,以支持对FTP的各种文件操作。 ### 统一动态配置管理 基于Nacos提供统一的配置管理,支持工程动态载入配置。(目前暂时未完工) ## 公共工具类 ### 日期工具类DateUtils 提供线程安全和时区管理的日期工具类,包含基本的日期格式转换等。 ### Spring对象工具类SpringBeanUtils 提供用于查找、获取Spring所管理的对象实例的工具类,一般用于应用程序中手动获取各种Bean。 ### 对象/Map转换工具类BeanMapUtils 提供用于Java对象和Map的相互快速转换的工具类。 ### Json工具类FastJsonUtils 基于FastJson,提供json与Java对象之间进行快速序列化/反序列化的工具类。 ### protostuff序列化器工具类ProtostuffUtils 提供protostuff序列化、反序列化的工具类。 protostuff是Google的一种跨平台的二进制编码格式,其序列化/反序列化的速度及存储空间均优于json。 ### 字符串工具类StringUtils 基于apache-commons的StringUtils扩展。 ## License 时空开放平台是一个基于[Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0.html)发布的开源软件。