2017-08-04 140 views
1

我有一個罐子說common.jar其中包含兩個高速緩存管理器豆像下面,加載彈簧豆基於應用

@Bean 
public CacheManager abcCacheManager() { 
    /* Bean for abc service */ 
} 

@Bean 
public CacheManager xyzCacheManager() { 
    /* Bean for xyz service */ 
} 

這些豆子都配置了不同的緩存名稱作爲我有兩個不同的緩存(每個應用程序1個)。

現在,當我運行abc服務時,兩個緩存管理器都被激活並加載兩個緩存。

有沒有一種方法,我只能根據調用的應用程序觸發特定的bean?

+0

觸發bean或者設置一些屬性,以便應用程序啓動時它將只包含你需要的bean? – Pavlo

回答

1

使用@Conditional註釋組的一個

請參閱從the doc

44.3條件註釋你的情況可能是@ConditionalOnClass或者在運行時@ConditionalOnMissingClass