Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/feature' into feature
Browse files Browse the repository at this point in the history
  • Loading branch information
shiyindaxiaojie committed Feb 9, 2025
2 parents e069fde + 8ffb299 commit 8cc4a4e
Show file tree
Hide file tree
Showing 24 changed files with 327 additions and 111 deletions.
7 changes: 2 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,9 @@

# Eden* Architect

![](https://cdn.jsdelivr.net/gh/shiyindaxiaojie/images/readme/language-java-blue.svg) [![](https://cdn.jsdelivr.net/gh/shiyindaxiaojie/images/readme/license-apache2.0-red.svg)][license-apache2.0] [![](https://github.com/shiyindaxiaojie/eden-architect/workflows/build/badge.svg)][github-action] [![](https://sonarcloud.io/api/project_badges/measure?project=shiyindaxiaojie_eden-architect&metric=alert_status)][sonarcloud-dashboard]
![](https://cdn.jsdelivr.net/gh/shiyindaxiaojie/images/readme/language-java-blue.svg) [![](https://cdn.jsdelivr.net/gh/shiyindaxiaojie/images/readme/license-apache2.0-red.svg)][license-apache2.0] [![](https://github.com/shiyindaxiaojie/eden-architect/workflows/build/badge.svg)][github-action] [![](https://sonarcloud.io/api/project_badges/measure?project=shiyindaxiaojie_eden-architect&metric=alert_status)][sonarcloud-dashboard] [<img src="https://api.gitsponsors.com/api/badge/img?id=237178706" height="20">](https://api.gitsponsors.com/api/badge/link?p=D2U/1v/9zVxqte4fgc472KrAzU7YaaSaIaHjjbqCHzAB5LDT/n2wM//x4nhDKuoxKq/wQmi+5xWro5DV4nDBdXmYN0nnecmY8LtNsOgUEjg9UQXat39/fDr8XyjDWdOGm7Nn5yIP7bqYK402lWpNpw==)

Eden* Architect 致力于提供企业开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,您只需要添加一些注解和少量配置,就可以将
Spring Boot 应用接入微服务解决方案,通过中间件来迅速搭建分布式应用系统。

> 参考文档请查看 [WIKI](https://github.com/shiyindaxiaojie/eden-architect/wiki)
Eden* Architect 致力于提供企业开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,您只需要添加一些注解和少量配置,就可以将 Spring Boot 应用接入微服务解决方案,通过中间件来迅速搭建分布式应用系统。

## 功能特性

Expand Down
73 changes: 73 additions & 0 deletions eden-components/eden-dependencies/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@
<ahocorasick.version>0.6.3</ahocorasick.version>
<zstd-jni.version>1.5.6-6</zstd-jni.version>
<lz4-java.version>1.8.0</lz4-java.version>
<spring-startup-analyzer.version>3.1.4</spring-startup-analyzer.version>

<!-- 关系型数据库 -->
<mysql-connector-java.version>8.0.32</mysql-connector-java.version>
Expand Down Expand Up @@ -230,6 +231,9 @@
<scala.version>2.12.9</scala.version>
<scala-module.version>0.9.0</scala-module.version>

<!-- 数据同步 -->
<debezium.version>3.0.6.Final</debezium.version>

<!-- 云原生组件 -->
<docker-java.version>3.2.14</docker-java.version>
</properties>
Expand Down Expand Up @@ -523,6 +527,11 @@
<artifactId>eden-curator-spring-boot-starter</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.github.shiyindaxiaojie</groupId>
<artifactId>eden-debezium-spring-boot-starter</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.github.shiyindaxiaojie</groupId>
<artifactId>eden-distributed-lock-spring-boot-starter</artifactId>
Expand Down Expand Up @@ -1320,6 +1329,17 @@
<artifactId>lz4-java</artifactId>
<version>${lz4-java.version}</version>
</dependency>
<!-- spring-startup-analyzer -->
<dependency>
<groupId>io.github.linyimin0812</groupId>
<artifactId>spring-profiler-starter</artifactId>
<version>${spring-startup-analyzer.version}</version>
</dependency>
<dependency>
<groupId>io.github.linyimin0812</groupId>
<artifactId>spring-async-bean-starter</artifactId>
<version>${spring-startup-analyzer.version}</version>
</dependency>

<!-- 数据库 -->
<!-- MySQL -->
Expand Down Expand Up @@ -2456,6 +2476,59 @@
<version>${scala-module.version}</version>
</dependency>

<!-- 数据同步 -->
<!-- Debezium -->
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-core</artifactId>
<version>${debezium.version}</version>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-embedded</artifactId>
<version>${debezium.version}</version>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-connector-mysql</artifactId>
<version>${debezium.version}</version>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-connector-postgres</artifactId>
<version>${debezium.version}</version>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-connector-oracle</artifactId>
<version>${debezium.version}</version>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-connector-sqlserver</artifactId>
<version>${debezium.version}</version>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-connector-mongodb</artifactId>
<version>${debezium.version}</version>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-ddl-parser</artifactId>
<version>${debezium.version}</version>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-storage-kafka</artifactId>
<version>${debezium.version}</version>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-storage-file</artifactId>
<version>${debezium.version}</version>
</dependency>

<!-- 云原生组件 -->
<!-- Docker -->
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
* @author <a href="mailto:[email protected]">gyl</a>
* @since 2.4.13
*/
@Plugin(name = "MaskingStringLayout", category = Node.CATEGORY, elementType = Layout.ELEMENT_TYPE, printObject = true)
@Plugin(name = "DataMaskerStringLayout", category = Node.CATEGORY, elementType = Layout.ELEMENT_TYPE, printObject = true)
public class DataMaskerStringLayout extends AbstractStringLayout {

private static final String KEY = "Converter";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public static DataMasker build(String spi, String strategy) {
*/
public static DataMasker build(DataMaskerConfig config) {
return ExtensionLoader.getExtensionLoader(DataMaskerBuilder.class)
.getDefaultExtension()
.getExtension(config.getType())
.config(config)
.build();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
chars-scan=org.ylzl.eden.data.masker.integration.charsscan.CharsScanDataMasker
address=org.ylzl.eden.data.masker.spi.AddressDataMasker
bank-card=org.ylzl.eden.data.masker.spi.BankCardDataMasker
car-license=org.ylzl.eden.data.masker.spi.CarLicenseDataMasker
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2012-2019 the original author or authors.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ https://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.github.shiyindaxiaojie</groupId>
<artifactId>eden-spring-boot-starters</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>eden-common-security-spring-boot-starter</artifactId>
<packaging>jar</packaging>
<name>eden-common-security-spring-boot-starter</name>
<description>Spring Boot Starter For Common Security</description>

<dependencies>
<!-- 开发框架 -->
<dependency>
<groupId>io.github.shiyindaxiaojie</groupId>
<artifactId>eden-spring-boot</artifactId>
</dependency>
<dependency>
<groupId>io.github.shiyindaxiaojie</groupId>
<artifactId>eden-spring-integration</artifactId>
</dependency>

<!-- 开发组件 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<optional>true</optional>
</dependency>

<!-- 通用组件 -->
<dependency>
<groupId>io.github.shiyindaxiaojie</groupId>
<artifactId>eden-common-security</artifactId>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Ignore everything in this directory
*
# Except this file !.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Ignore everything in this directory
*
# Except this file !.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Ignore everything in this directory
*
# Except this file !.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Ignore everything in this directory
*
# Except this file !.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2012-2019 the original author or authors.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ https://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.github.shiyindaxiaojie</groupId>
<artifactId>eden-spring-boot-starters</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>eden-debezium-spring-boot-starter</artifactId>
<packaging>jar</packaging>
<name>eden-debezium-spring-boot-starter</name>
<description>Spring Boot Starter For Debezium</description>

<dependencies>
<!-- 开发框架 -->
<dependency>
<groupId>io.github.shiyindaxiaojie</groupId>
<artifactId>eden-spring-boot</artifactId>
</dependency>
<dependency>
<groupId>io.github.shiyindaxiaojie</groupId>
<artifactId>eden-spring-integration</artifactId>
</dependency>

<!-- 开发组件 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<optional>true</optional>
</dependency>

<!-- Debezium -->
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-core</artifactId>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-embedded</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-connector-mysql</artifactId>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-connector-postgres</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-connector-oracle</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-connector-sqlserver</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-connector-mongodb</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-ddl-parser</artifactId>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-storage-kafka</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.debezium</groupId>
<artifactId>debezium-storage-file</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Ignore everything in this directory
*
# Except this file !.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Ignore everything in this directory
*
# Except this file !.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Ignore everything in this directory
*
# Except this file !.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Ignore everything in this directory
*
# Except this file !.gitkeep
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
import org.springframework.context.annotation.Role;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.ylzl.eden.idempotent.integration.ttl.RedisTimeToLiveIdempotentStrategy;
import org.ylzl.eden.idempotent.spring.boot.env.TimeToLiveIdempotentConvertor;
import org.ylzl.eden.idempotent.spring.boot.env.TimeToLiveIdempotentProperties;
import org.ylzl.eden.idempotent.spring.boot.env.IdempotentConvertor;
import org.ylzl.eden.idempotent.spring.boot.env.IdempotentProperties;
import org.ylzl.eden.idempotent.strategy.TimeToLiveIdempotentStrategy;

/**
Expand All @@ -48,15 +48,16 @@
@Configuration(proxyBeanMethods = false)
public class RedisTimeToLiveIdempotentAutoConfiguration {

public static final String ENABLED = TimeToLiveIdempotentProperties.PREFIX + ".redis.enabled";
public static final String ENABLED = IdempotentProperties.TimeToLive.PREFIX + ".redis.enabled";

private static final String AUTOWIRED_REDIS_TTL_IDEMPOTENT_STRATEGY = "Autowired RedisTimeToLiveIdempotentStrategy";

private final TimeToLiveIdempotentProperties properties;
private final IdempotentProperties properties;

@Bean
public TimeToLiveIdempotentStrategy ttlIdempotentStrategy(StringRedisTemplate redisTemplate) {
log.debug(AUTOWIRED_REDIS_TTL_IDEMPOTENT_STRATEGY);
return new RedisTimeToLiveIdempotentStrategy(redisTemplate, TimeToLiveIdempotentConvertor.INSTANCE.toConfig(properties));
return new RedisTimeToLiveIdempotentStrategy(redisTemplate,
IdempotentConvertor.INSTANCE.toTimeToLiveConfig(properties.getTtl()));
}
}
Loading

0 comments on commit 8cc4a4e

Please sign in to comment.