配置變化我有一個@Configuration
類,如下所示:刷新一個Bean而不@RefreshScope
@Configuration
public class SampleKieConfiguration {
@Bean
public KieServices kieServices() {
return KieServices.Factory.get();
}
@Bean
public KieContainer kieContainer() {
ReleaseId releaseId = kieServices().newReleaseId("groupId", "artifactId", "version");
KieContainer kieContainer = kieServices().newKieContainer(releaseId);
kieServices().newKieScanner(kieContainer).start(10_000);
return kieContainer;
}
@Bean
public KieBase kieBase() {
KieBaseConfiguration kieBaseConfiguration = kieServices().newKieBaseConfiguration();
kieBaseConfiguration.setOption(EqualityBehaviorOption.EQUALITY);
kieBaseConfiguration.setOption(EventProcessingOption.CLOUD);
return kieContainer().newKieBase(kieBaseConfiguration);
}
}
kieServices().newKieScanner(kieContainer).start(10_000);
線基本上民調遠程Maven倉庫,並刷新kieContainer
對象每隔10秒,如果有一個新的工件。
,並在我的上層(如服務層)的地方,我有:
@Service
@RefreshScope
public class SampleService {
@Autowired
private KieBase kBase;
}
的kBase
對象不刷新(至少不能以新的kieContainer
對象)據我所見,當我撥打/refresh
端點時。我沒有集中配置,當我撥打/refresh
時,我收到了一條警告。我想要實現的是在每次更新kieContainer
時都會有一個新的kBase
對象。我怎樣才能做到這一點?謝謝!
謝謝,感謝答案。但現在我得到了'java.lang.ClassCastException:$ Proxy11不能轉換爲some.package.KnowledgeBaseImpl'。有什麼想法嗎? –