私はこれをしばらく検索してきました。@ beanの初期化の条件
これまでのところ、私はthisブログが非常に役に立ちましたが、私の問題を解決していませんでした。
私はflag
が、私はそれがnull
ユースケースになりたいそうでない、真の場合のみ@Autowired
Beanにしたい:DBの1がメンテナンス中である場合、私はしたくない
私のアプリは失敗する。私はautowire
null
豆できないよう
@Bean("sqlDatabase")
public Database getSqlDatabase(@Value("${datasource.sql.url}") String url,
@Value("${datasource.sql.username}") String username, @Value("${datasource.sql.password}") String password,
@Value("${datasource.poolsize.min}") int minPoolSize, @Value("${datasource.poolsize.max}") int maxPoolSize,
@Value("${database.enable-sql}") boolean isSqlEnabled) {
if (isSqlEnabled)
return Database.builder().url(url).pool(minPoolSize, maxPoolSize).username(username).password(password)
.build();
else
return null;
}
さて、この場合には、そのエラーが投げ。
私は@Conditional
を使いたかったのですが、私の場合はちょっと複雑です。 3つのデータベースをすべて更新する必要があります。条件が満たされない場合、私はちょうどskip
のいずれかにしたいです。
*すでに3つのデータベースをすべて更新する必要があります。条件が満たされない場合は、そのうちの1つをスキップします。あなたはこれによって何を意味するのか詳しく説明できますか? – CKing
私は3つのデータベースに触れるスプリングブートアプリケーションを持っています。私はそれらのために3種類の豆を作っています。メンテナンスのために、1つのデータベースをオフにしたいと思っています。私はまだ残りが必要です。2.ブログの例では。私の場合は実際には適用されません。私はちょうど私の初期化が接続しようとするタイムアウトでハングアップしないようにします。 –