Skip to content

Commit cf2c7ff

Browse files
committed
服务引擎:调增DefaultServiceEngine配置
1 parent 5b63f6f commit cf2c7ff

2 files changed

Lines changed: 9 additions & 5 deletions

File tree

service/src/main/java/org/bekit/service/boot/ServiceEngineConfiguration.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*/
99
package org.bekit.service.boot;
1010

11+
import org.bekit.event.EventPublisher;
1112
import org.bekit.event.boot.EventBusConfiguration;
1213
import org.bekit.event.bus.EventBusesHolder;
1314
import org.bekit.event.publisher.DefaultEventPublisher;
@@ -17,6 +18,7 @@
1718
import org.bekit.service.service.ServicesHolder;
1819
import org.springframework.context.annotation.Bean;
1920
import org.springframework.context.annotation.Configuration;
21+
import org.springframework.context.annotation.DependsOn;
2022
import org.springframework.context.annotation.Import;
2123

2224
/**
@@ -29,7 +31,9 @@ public class ServiceEngineConfiguration {
2931

3032
// 服务引擎
3133
@Bean
32-
public ServiceEngine serviceEngine(EventBusesHolder eventBusesHolder) {
33-
return new DefaultServiceEngine(new DefaultEventPublisher(eventBusesHolder.getEventBus(ServiceListenerType.class)));
34+
@DependsOn({"org.bekit.service.service.ServicesHolder", "org.bekit.event.bus.EventBusesHolder"}) // 保证出现循环引用时不会出错
35+
public ServiceEngine serviceEngine(ServicesHolder servicesHolder, EventBusesHolder eventBusesHolder) {
36+
EventPublisher eventPublisher = new DefaultEventPublisher(eventBusesHolder.getEventBus(ServiceListenerType.class));
37+
return new DefaultServiceEngine(servicesHolder, eventPublisher);
3438
}
3539
}

service/src/main/java/org/bekit/service/engine/DefaultServiceEngine.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.bekit.service.event.ServiceFinishEvent;
1616
import org.bekit.service.service.ServiceExecutor;
1717
import org.bekit.service.service.ServicesHolder;
18-
import org.springframework.beans.factory.annotation.Autowired;
1918
import org.springframework.cglib.core.ReflectUtils;
2019

2120
import java.util.Map;
@@ -24,12 +23,13 @@
2423
* 服务引擎默认实现类
2524
*/
2625
public class DefaultServiceEngine implements ServiceEngine {
27-
@Autowired
26+
// 服务持有器
2827
private ServicesHolder servicesHolder;
2928
// 服务事件发布器
3029
private EventPublisher eventPublisher;
3130

32-
public DefaultServiceEngine(EventPublisher eventPublisher) {
31+
public DefaultServiceEngine(ServicesHolder servicesHolder, EventPublisher eventPublisher) {
32+
this.servicesHolder = servicesHolder;
3333
this.eventPublisher = eventPublisher;
3434
}
3535

0 commit comments

Comments
 (0)