Pending Transaction - save in external datasource

context init logging added.
This commit is contained in:
eugene-shevchenko 2015-03-30 12:15:35 +03:00
parent f2bf688f85
commit a7b0fa1c7b

View File

@ -45,21 +45,33 @@ public class CommonConfig {
@Bean
@Scope("prototype")
public KeyValueDataSource keyValueDataSource() {
if (CONFIG.getKeyValueDataSource().equals("redis")) {
if (redisConnection.isAvailable()) {
String dataSource = CONFIG.getKeyValueDataSource();
try {
if ("redis".equals(dataSource) && redisConnection.isAvailable()) {
// Name will be defined before initialization
return redisConnection.createDataSource("");
}
}
dataSource = "leveldb";
return new LevelDbDataSource();
} finally {
logger.info(dataSource + " key-value data source created.");
}
}
@Bean
public Set<Transaction> pendingTransactions() {
return redisConnection.isAvailable()
? redisConnection.createTransactionSet("pendingTransactions")
: Collections.synchronizedSet(new HashSet<Transaction>());
String storage = "Redis";
try {
if (redisConnection.isAvailable()) {
return redisConnection.createTransactionSet("pendingTransactions");
}
storage = "In memory";
return Collections.synchronizedSet(new HashSet<Transaction>());
} finally {
logger.info(storage + " 'pendingTransactions' storage created.");
}
}
@Bean