Added a search function by the name of the table to which you need to add a MapStore
This commit is contained in:
parent
7a2fbe5b79
commit
b7ae9b69bc
1 changed files with 34 additions and 0 deletions
|
|
@ -6,6 +6,17 @@ import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||||
import org.springframework.context.ConfigurableApplicationContext;
|
import org.springframework.context.ConfigurableApplicationContext;
|
||||||
|
import ru.spcex.clearing.imdg.base.BusinessObjectMapStore;
|
||||||
|
import ru.spcex.clearing.imdg.base.DictionaryMapStore;
|
||||||
|
import ru.spcex.clearing.imdg.base.TemplateEventMapStore;
|
||||||
|
import ru.spcex.clearing.imdg.base.TemplateMapStore;
|
||||||
|
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DatabaseMetaData;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
public class IMDGApplication {
|
public class IMDGApplication {
|
||||||
|
|
@ -14,12 +25,35 @@ public class IMDGApplication {
|
||||||
try {
|
try {
|
||||||
SpringApplicationBuilder builder = new SpringApplicationBuilder(IMDGApplication.class);
|
SpringApplicationBuilder builder = new SpringApplicationBuilder(IMDGApplication.class);
|
||||||
ConfigurableApplicationContext configurableApplicationContext = builder.run(args);
|
ConfigurableApplicationContext configurableApplicationContext = builder.run(args);
|
||||||
|
|
||||||
|
List<String> nameTables = new ArrayList<>();
|
||||||
|
Connection jdbcConnection = DriverManager.getConnection("jdbc:postgresql://10.200.200.133:5432/postgres", "clearing", "Aa111111");
|
||||||
|
DatabaseMetaData md = jdbcConnection.getMetaData();
|
||||||
|
ResultSet rs = md.getTables(null, "clearing", "%", new String[]{"TABLE"});
|
||||||
|
while (rs.next()) {
|
||||||
|
nameTables.add(rs.getString(3));
|
||||||
|
}
|
||||||
|
|
||||||
HazelcastInstance hazelcastInstance = configurableApplicationContext.getBean(HazelcastInstance.class);
|
HazelcastInstance hazelcastInstance = configurableApplicationContext.getBean(HazelcastInstance.class);
|
||||||
hazelcastInstance.getMap("");
|
hazelcastInstance.getMap("");
|
||||||
for (String mapName : hazelcastInstance.getConfig().getMapConfigs().keySet()) {
|
for (String mapName : hazelcastInstance.getConfig().getMapConfigs().keySet()) {
|
||||||
MapStoreConfig mapStoreConfig = hazelcastInstance.getConfig().getMapConfig(mapName).getMapStoreConfig();
|
MapStoreConfig mapStoreConfig = hazelcastInstance.getConfig().getMapConfig(mapName).getMapStoreConfig();
|
||||||
Object mapStore = mapStoreConfig.getImplementation();
|
Object mapStore = mapStoreConfig.getImplementation();
|
||||||
|
String tableName = mapStore == null ? "Не получилось сопоставить mapStore: is null" : "Не получилось сопоставить: " + mapStore.getClass() + " с таблицей";
|
||||||
|
if (mapStore instanceof TemplateMapStore) {
|
||||||
|
tableName = ((TemplateMapStore<?>) mapStore).getTableName();
|
||||||
|
} else if (mapStore instanceof DictionaryMapStore) {
|
||||||
|
tableName = ((DictionaryMapStore<?>) mapStore).getTableName();
|
||||||
|
} else if (mapStore instanceof TemplateEventMapStore) {
|
||||||
|
tableName = ((TemplateEventMapStore<?>) mapStore).getTableName();
|
||||||
|
} else if (mapStore instanceof BusinessObjectMapStore) {
|
||||||
|
tableName = ((BusinessObjectMapStore<?>) mapStore).getTableName();
|
||||||
|
} else if (mapName.equals("default")) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
nameTables.remove(tableName.toLowerCase());
|
||||||
}
|
}
|
||||||
|
nameTables.forEach(System.out::println);
|
||||||
|
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
LoggerFactory.getLogger(IMDGApplication.class).error("STORAGE start failed: {} -> {}", e.getClass().getSimpleName(), e.getMessage());
|
LoggerFactory.getLogger(IMDGApplication.class).error("STORAGE start failed: {} -> {}", e.getClass().getSimpleName(), e.getMessage());
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue