Skip to content

Commit 4ec656f

Browse files
Merge pull request #233 from shiyindaxiaojie/feature
Feature
2 parents af3d2b4 + ff956f2 commit 4ec656f

11 files changed

Lines changed: 248 additions & 125 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
# Eden* Architect
1010

11-
![](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==)
11+
![](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]
1212

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

eden-components/eden-dependencies/pom.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
<log4j2-ttl-thread-context-map.version>1.4.0</log4j2-ttl-thread-context-map.version>
104104
<jnanoid.version>2.0.0</jnanoid.version>
105105
<snakeyaml.version>1.33</snakeyaml.version>
106-
<dynamictp.version>1.0.9</dynamictp.version>
106+
<dynamictp.version>1.2.0</dynamictp.version>
107107
<javers.version>6.8.1</javers.version>
108108
<java-object-diff.version>0.95</java-object-diff.version>
109109
<ahocorasick.version>0.6.3</ahocorasick.version>
@@ -1257,37 +1257,37 @@
12571257
</dependency>
12581258
<!-- Dynamic TP -->
12591259
<dependency>
1260-
<groupId>cn.dynamictp</groupId>
1260+
<groupId>org.dromara.dynamictp</groupId>
12611261
<artifactId>dynamic-tp-spring-boot-starter-nacos</artifactId>
12621262
<version>${dynamictp.version}</version>
12631263
</dependency>
12641264
<dependency>
1265-
<groupId>cn.dynamictp</groupId>
1265+
<groupId>org.dromara.dynamictp</groupId>
12661266
<artifactId>dynamic-tp-spring-cloud-starter-nacos</artifactId>
12671267
<version>${dynamictp.version}</version>
12681268
</dependency>
12691269
<dependency>
1270-
<groupId>cn.dynamictp</groupId>
1270+
<groupId>org.dromara.dynamictp</groupId>
12711271
<artifactId>dynamic-tp-spring-boot-starter-adapter-webserver</artifactId>
12721272
<version>${dynamictp.version}</version>
12731273
</dependency>
12741274
<dependency>
1275-
<groupId>cn.dynamictp</groupId>
1275+
<groupId>org.dromara.dynamictp</groupId>
12761276
<artifactId>dynamic-tp-spring-boot-starter-adapter-dubbo</artifactId>
12771277
<version>${dynamictp.version}</version>
12781278
</dependency>
12791279
<dependency>
1280-
<groupId>cn.dynamictp</groupId>
1280+
<groupId>org.dromara.dynamictp</groupId>
12811281
<artifactId>dynamic-tp-spring-boot-starter-adapter-rocketmq</artifactId>
12821282
<version>${dynamictp.version}</version>
12831283
</dependency>
12841284
<dependency>
1285-
<groupId>cn.dynamictp</groupId>
1285+
<groupId>org.dromara.dynamictp</groupId>
12861286
<artifactId>dynamic-tp-spring-boot-starter-adapter-grpc</artifactId>
12871287
<version>${dynamictp.version}</version>
12881288
</dependency>
12891289
<dependency>
1290-
<groupId>cn.dynamictp</groupId>
1290+
<groupId>org.dromara.dynamictp</groupId>
12911291
<artifactId>dynamic-tp-spring-boot-starter-adapter-hystrix</artifactId>
12921292
<version>${dynamictp.version}</version>
12931293
</dependency>

eden-components/eden-solutions/eden-common-cache/src/main/java/org/ylzl/eden/common/cache/CacheType.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package org.ylzl.eden.common.cache;
1818

19+
import lombok.Getter;
20+
1921
import java.util.Objects;
2022

2123
/**
@@ -24,6 +26,7 @@
2426
* @author <a href="mailto:shiyindaxiaojie@gmail.com">gyl</a>
2527
* @since 2.4.13
2628
*/
29+
@Getter
2730
public enum CacheType {
2831

2932
COMPOSITE(0),
@@ -38,10 +41,6 @@ public enum CacheType {
3841
this.level = level;
3942
}
4043

41-
public int getLevel() {
42-
return level;
43-
}
44-
4544
public static CacheType parse(String type) {
4645
for (CacheType cacheType : CacheType.values()) {
4746
if (cacheType.name().equalsIgnoreCase(type)) {

eden-components/eden-solutions/eden-common-cache/src/main/java/org/ylzl/eden/common/cache/integration/l1cache/caffeine/CaffeineCache.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public String getCacheType() {
6161
}
6262

6363
/**
64-
* 使用本地缓存提供类
64+
* 使用原生缓存提供类
6565
* <p>针对定制化需求暴露底层的客户端实例操作</p>
6666
*
6767
* @return 本地缓存提供类

eden-components/eden-solutions/eden-common-cache/src/main/java/org/ylzl/eden/common/cache/integration/l1cache/guava/GuavaCache.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public String getCacheType() {
5858
}
5959

6060
/**
61-
* 使用本地缓存提供类
61+
* 使用原生缓存提供类
6262
* <p>针对定制化需求暴露底层的客户端实例操作</p>
6363
*
6464
* @return 本地缓存提供类

eden-components/eden-spring-boot-starters/eden-dynamic-tp-spring-boot-starter/pom.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,28 +47,28 @@
4747

4848
<!-- Dynamic TP -->
4949
<dependency>
50-
<groupId>cn.dynamictp</groupId>
50+
<groupId>org.dromara.dynamictp</groupId>
5151
<artifactId>dynamic-tp-spring-boot-starter-nacos</artifactId>
5252
</dependency>
5353
<dependency>
54-
<groupId>cn.dynamictp</groupId>
54+
<groupId>org.dromara.dynamictp</groupId>
5555
<artifactId>dynamic-tp-spring-boot-starter-adapter-webserver</artifactId>
5656
</dependency>
5757
<dependency>
58-
<groupId>cn.dynamictp</groupId>
58+
<groupId>org.dromara.dynamictp</groupId>
5959
<artifactId>dynamic-tp-spring-boot-starter-adapter-dubbo</artifactId>
6060
</dependency>
6161
<dependency>
62-
<groupId>cn.dynamictp</groupId>
62+
<groupId>org.dromara.dynamictp</groupId>
6363
<artifactId>dynamic-tp-spring-boot-starter-adapter-rocketmq</artifactId>
6464
</dependency>
6565
<dependency>
66-
<groupId>cn.dynamictp</groupId>
66+
<groupId>org.dromara.dynamictp</groupId>
6767
<artifactId>dynamic-tp-spring-boot-starter-adapter-grpc</artifactId>
6868
<optional>true</optional>
6969
</dependency>
7070
<dependency>
71-
<groupId>cn.dynamictp</groupId>
71+
<groupId>org.dromara.dynamictp</groupId>
7272
<artifactId>dynamic-tp-spring-boot-starter-adapter-hystrix</artifactId>
7373
<optional>true</optional>
7474
</dependency>
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,89 @@
1-
/*
2-
* Copyright 2012-2019 the original author or authors.
3-
*
4-
* Licensed under the Apache License, Version 2.0 (the "License");
5-
* you may not use this file except in compliance with the License.
6-
* You may obtain a copy of the License at
7-
*
8-
* https://www.apache.org/licenses/LICENSE-2.0
9-
*
10-
* Unless required by applicable law or agreed to in writing, software
11-
* distributed under the License is distributed on an "AS IS" BASIS,
12-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13-
* See the License for the specific language governing permissions and
14-
* limitations under the License.
15-
*/
16-
17-
package org.ylzl.eden.dynamic.tp.spring.boot.adapter;
18-
19-
import com.dtp.adapter.rocketmq.RocketMqDtpAdapter;
20-
import com.dtp.common.ApplicationContextHolder;
21-
import com.dtp.common.dto.ExecutorWrapper;
22-
import com.dtp.common.util.ReflectionUtil;
23-
import lombok.extern.slf4j.Slf4j;
24-
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
25-
import org.apache.rocketmq.client.impl.consumer.ConsumeMessageConcurrentlyService;
26-
import org.apache.rocketmq.client.impl.consumer.ConsumeMessageOrderlyService;
27-
import org.apache.rocketmq.client.impl.consumer.ConsumeMessageService;
28-
import org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl;
29-
import org.apache.rocketmq.spring.support.DefaultRocketMQListenerContainer;
30-
import org.ylzl.eden.common.mq.integration.rocketmq.RocketMQConsumer;
31-
import org.ylzl.eden.commons.collections.CollectionUtils;
32-
33-
import java.util.Map;
34-
import java.util.Objects;
35-
import java.util.concurrent.ThreadPoolExecutor;
36-
37-
/**
38-
* 自定义 RocketMqDtpAdapter
39-
*
40-
* @author <a href="mailto:shiyindaxiaojie@gmail.com">gyl</a>
41-
* @since 2.4.x
42-
*/
43-
@Slf4j
44-
public class CustomRocketMqDtpAdapter extends RocketMqDtpAdapter {
45-
46-
@Override
47-
protected void initialize() {
48-
Map<String, DefaultRocketMQListenerContainer> beans = ApplicationContextHolder.getBeansOfType(DefaultRocketMQListenerContainer.class);
49-
if (CollectionUtils.isNotEmpty(beans)) {
50-
beans.forEach((k, v) -> {
51-
DefaultMQPushConsumer consumer = v.getConsumer();
52-
String group = v.getConsumerGroup();
53-
String topic = v.getTopic();
54-
this.setThreadPoolExecutor(consumer, group, topic);
55-
});
56-
}
57-
58-
// support dynamic-mq
59-
RocketMQConsumer rocketMQConsumer = ApplicationContextHolder.getBean(RocketMQConsumer.class);
60-
if (rocketMQConsumer != null && !rocketMQConsumer.getConsumers().isEmpty()) {
61-
rocketMQConsumer.getConsumers().forEach((k, v) -> {
62-
this.setThreadPoolExecutor(v, v.getConsumerGroup(), k);
63-
});
64-
}
65-
66-
log.info("DynamicTp adapter, rocketMq consumer executors init end, executors: {}", this.executors);
67-
}
68-
69-
private void setThreadPoolExecutor(DefaultMQPushConsumer consumer, String group, String topic) {
70-
DefaultMQPushConsumerImpl pushConsumer = consumer.getDefaultMQPushConsumerImpl();
71-
// DefaultMQPushConsumerImpl pushConsumer = (DefaultMQPushConsumerImpl) ReflectionUtil.getFieldValue(DefaultMQPushConsumer.class, "defaultMQPushConsumerImpl", consumer);
72-
if (!Objects.isNull(pushConsumer)) {
73-
String key = group + "#" + topic;
74-
ThreadPoolExecutor executor = null;
75-
ConsumeMessageService consumeMessageService = pushConsumer.getConsumeMessageService();
76-
if (consumeMessageService instanceof ConsumeMessageConcurrentlyService) {
77-
executor = (ThreadPoolExecutor) ReflectionUtil.getFieldValue(ConsumeMessageConcurrentlyService.class, "consumeExecutor", consumeMessageService);
78-
} else if (consumeMessageService instanceof ConsumeMessageOrderlyService) {
79-
executor = (ThreadPoolExecutor) ReflectionUtil.getFieldValue(ConsumeMessageOrderlyService.class, "consumeExecutor", consumeMessageService);
80-
}
81-
82-
if (Objects.nonNull(executor)) {
83-
ExecutorWrapper executorWrapper = new ExecutorWrapper(key, executor);
84-
this.initNotifyItems(key, executorWrapper);
85-
this.executors.put(key, executorWrapper);
86-
}
87-
}
88-
}
89-
}
1+
///*
2+
// * Copyright 2012-2019 the original author or authors.
3+
// *
4+
// * Licensed under the Apache License, Version 2.0 (the "License");
5+
// * you may not use this file except in compliance with the License.
6+
// * You may obtain a copy of the License at
7+
// *
8+
// * https://www.apache.org/licenses/LICENSE-2.0
9+
// *
10+
// * Unless required by applicable law or agreed to in writing, software
11+
// * distributed under the License is distributed on an "AS IS" BASIS,
12+
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
// * See the License for the specific language governing permissions and
14+
// * limitations under the License.
15+
// */
16+
//
17+
//package org.ylzl.eden.dynamic.tp.spring.boot.adapter;
18+
//
19+
//import com.dtp.adapter.rocketmq.RocketMqDtpAdapter;
20+
//import com.dtp.common.ApplicationContextHolder;
21+
//import com.dtp.common.dto.ExecutorWrapper;
22+
//import com.dtp.common.util.ReflectionUtil;
23+
//import lombok.extern.slf4j.Slf4j;
24+
//import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
25+
//import org.apache.rocketmq.client.impl.consumer.ConsumeMessageConcurrentlyService;
26+
//import org.apache.rocketmq.client.impl.consumer.ConsumeMessageOrderlyService;
27+
//import org.apache.rocketmq.client.impl.consumer.ConsumeMessageService;
28+
//import org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl;
29+
//import org.apache.rocketmq.spring.support.DefaultRocketMQListenerContainer;
30+
//import org.ylzl.eden.common.mq.integration.rocketmq.RocketMQConsumer;
31+
//import org.ylzl.eden.commons.collections.CollectionUtils;
32+
//
33+
//import java.util.Map;
34+
//import java.util.Objects;
35+
//import java.util.concurrent.ThreadPoolExecutor;
36+
//
37+
///**
38+
// * 自定义 RocketMqDtpAdapter
39+
// *
40+
// * @author <a href="mailto:shiyindaxiaojie@gmail.com">gyl</a>
41+
// * @since 2.4.x
42+
// */
43+
//@Slf4j
44+
//public class CustomRocketMqDtpAdapter extends RocketMqDtpAdapter {
45+
//
46+
// @Override
47+
// protected void initialize() {
48+
// Map<String, DefaultRocketMQListenerContainer> beans = ApplicationContextHolder.getBeansOfType(DefaultRocketMQListenerContainer.class);
49+
// if (CollectionUtils.isNotEmpty(beans)) {
50+
// beans.forEach((k, v) -> {
51+
// DefaultMQPushConsumer consumer = v.getConsumer();
52+
// String group = v.getConsumerGroup();
53+
// String topic = v.getTopic();
54+
// this.setThreadPoolExecutor(consumer, group, topic);
55+
// });
56+
// }
57+
//
58+
// // support dynamic-mq
59+
// RocketMQConsumer rocketMQConsumer = ApplicationContextHolder.getBean(RocketMQConsumer.class);
60+
// if (rocketMQConsumer != null && !rocketMQConsumer.getConsumers().isEmpty()) {
61+
// rocketMQConsumer.getConsumers().forEach((k, v) -> {
62+
// this.setThreadPoolExecutor(v, v.getConsumerGroup(), k);
63+
// });
64+
// }
65+
//
66+
// log.info("DynamicTp adapter, rocketMq consumer executors init end, executors: {}", this.executors);
67+
// }
68+
//
69+
// private void setThreadPoolExecutor(DefaultMQPushConsumer consumer, String group, String topic) {
70+
// DefaultMQPushConsumerImpl pushConsumer = consumer.getDefaultMQPushConsumerImpl();
71+
//// DefaultMQPushConsumerImpl pushConsumer = (DefaultMQPushConsumerImpl) ReflectionUtil.getFieldValue(DefaultMQPushConsumer.class, "defaultMQPushConsumerImpl", consumer);
72+
// if (!Objects.isNull(pushConsumer)) {
73+
// String key = group + "#" + topic;
74+
// ThreadPoolExecutor executor = null;
75+
// ConsumeMessageService consumeMessageService = pushConsumer.getConsumeMessageService();
76+
// if (consumeMessageService instanceof ConsumeMessageConcurrentlyService) {
77+
// executor = (ThreadPoolExecutor) ReflectionUtil.getFieldValue(ConsumeMessageConcurrentlyService.class, "consumeExecutor", consumeMessageService);
78+
// } else if (consumeMessageService instanceof ConsumeMessageOrderlyService) {
79+
// executor = (ThreadPoolExecutor) ReflectionUtil.getFieldValue(ConsumeMessageOrderlyService.class, "consumeExecutor", consumeMessageService);
80+
// }
81+
//
82+
// if (Objects.nonNull(executor)) {
83+
// ExecutorWrapper executorWrapper = new ExecutorWrapper(key, executor);
84+
// this.initNotifyItems(key, executorWrapper);
85+
// this.executors.put(key, executorWrapper);
86+
// }
87+
// }
88+
// }
89+
//}

eden-components/eden-spring-boot-starters/eden-dynamic-tp-spring-boot-starter/src/main/java/org/ylzl/eden/dynamic/tp/spring/boot/autoconfigure/RocketMqTpAutoConfiguration.java

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,13 @@
1616

1717
package org.ylzl.eden.dynamic.tp.spring.boot.autoconfigure;
1818

19-
import com.dtp.adapter.rocketmq.RocketMqDtpAdapter;
20-
import com.dtp.starter.common.autoconfigure.BaseBeanAutoConfiguration;
2119
import lombok.extern.slf4j.Slf4j;
2220
import org.springframework.beans.factory.config.BeanDefinition;
23-
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
2421
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
2522
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
26-
import org.springframework.context.annotation.Bean;
2723
import org.springframework.context.annotation.Configuration;
28-
import org.springframework.context.annotation.Primary;
2924
import org.springframework.context.annotation.Role;
3025
import org.ylzl.eden.common.mq.integration.rocketmq.RocketMQConsumer;
31-
import org.ylzl.eden.dynamic.tp.spring.boot.adapter.CustomRocketMqDtpAdapter;
3226
import org.ylzl.eden.spring.boot.bootstrap.constant.Conditions;
3327

3428
/**
@@ -44,18 +38,18 @@
4438
matchIfMissing = true
4539
)
4640
@ConditionalOnBean(RocketMQConsumer.class)
47-
@AutoConfigureAfter({BaseBeanAutoConfiguration.class})
41+
//@AutoConfigureAfter({BaseBeanAutoConfiguration.class})
4842
@Slf4j
4943
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
5044
@Configuration(proxyBeanMethods = false)
5145
public class RocketMqTpAutoConfiguration {
5246

5347
private static final String AUTOWIRED_CUSTOM_ROCKET_MQ_DTP_ADAPTER = "Autowired CustomRocketMqDtpAdapter";
5448

55-
@Primary
56-
@Bean
57-
public RocketMqDtpAdapter rocketMqDtpHandler() {
58-
log.debug(AUTOWIRED_CUSTOM_ROCKET_MQ_DTP_ADAPTER);
59-
return new CustomRocketMqDtpAdapter();
60-
}
49+
// @Primary
50+
// @Bean
51+
// public RocketMqDtpAdapter rocketMqDtpHandler() {
52+
// log.debug(AUTOWIRED_CUSTOM_ROCKET_MQ_DTP_ADAPTER);
53+
// return new CustomRocketMqDtpAdapter();
54+
// }
6155
}

eden-components/eden-spring-cloud-starters/eden-dynamic-tp-spring-cloud-starter/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<artifactId>eden-dynamic-tp-spring-boot-starter</artifactId>
5252
</dependency>
5353
<dependency>
54-
<groupId>cn.dynamictp</groupId>
54+
<groupId>org.dromara.dynamictp</groupId>
5555
<artifactId>dynamic-tp-spring-cloud-starter-nacos</artifactId>
5656
</dependency>-->
5757
</dependencies>

eden-components/eden-spring-framework/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@
137137
<dependency>
138138
<groupId>org.apache.logging.log4j</groupId>
139139
<artifactId>log4j-core</artifactId>
140-
<scope>runtime</scope>
140+
<scope>optional</scope>
141141
</dependency>
142142
<!-- 引入实现 Slf4j 的 log4j2 -->
143143
<dependency>

0 commit comments

Comments
 (0)