File tree Expand file tree Collapse file tree
service/src/main/java/org/bekit/service Expand file tree Collapse file tree Original file line number Diff line number Diff line change 88 */
99package org .bekit .service .boot ;
1010
11+ import org .bekit .event .EventPublisher ;
1112import org .bekit .event .boot .EventBusConfiguration ;
1213import org .bekit .event .bus .EventBusesHolder ;
1314import org .bekit .event .publisher .DefaultEventPublisher ;
1718import org .bekit .service .service .ServicesHolder ;
1819import org .springframework .context .annotation .Bean ;
1920import org .springframework .context .annotation .Configuration ;
21+ import org .springframework .context .annotation .DependsOn ;
2022import 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}
Original file line number Diff line number Diff line change 1515import org .bekit .service .event .ServiceFinishEvent ;
1616import org .bekit .service .service .ServiceExecutor ;
1717import org .bekit .service .service .ServicesHolder ;
18- import org .springframework .beans .factory .annotation .Autowired ;
1918import org .springframework .cglib .core .ReflectUtils ;
2019
2120import java .util .Map ;
2423 * 服务引擎默认实现类
2524 */
2625public 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
You can’t perform that action at this time.
0 commit comments