Package ch.sahits.game.test.database
Class DBInvestigationStarter
- java.lang.Object
-
- ch.sahits.game.test.database.DBInvestigationStarter
-
- All Implemented Interfaces:
org.springframework.boot.CommandLineRunner
@SpringBootApplication @EnableNeo4jRepositories public class DBInvestigationStarter extends java.lang.Object implements org.springframework.boot.CommandLineRunner
-
-
Field Summary
Fields Modifier and Type Field Description private FleetH2RepositoryfleetH2Repositoryprivate FleetMongoDBRepositoryfleetMongoDBRepositoryprivate FleetNeo4jRepositoryfleetNeo4jRepositorystatic intHUNDRED_THOUSANDprivate de.flapdoodle.embed.mongo.MongoDumpExecutablemongoDBDumperprivate java.lang.StringmongodbDumpLocationprivate de.flapdoodle.embed.mongo.MongoRestoreExecutablemongoDBRestorerstatic intONE_THOUSANDstatic intTEN_THOUSAND
-
Constructor Summary
Constructors Constructor Description DBInvestigationStarter()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidcheckH2DumpAndRestore(java.lang.Iterable<ShipH2Record> allH2RecordsBeforeRestoring)private voidcheckH2Queries(java.lang.String playerUuid1, java.lang.String playerUuid2)private voidcheckMongoDBDumpAndRestore(java.util.List<ShipMongoDBRecord> allMongoDBRecordsBeforeRestoring)private voidcheckMongoDBQueries(java.lang.String playerUuid1, java.lang.String playerUuid2)private voidcheckNeo4jQueries(java.lang.String playerUuid1, java.lang.String playerUuid2)private voiddumpH2()private voiddumpMongoDB()private voidexecute4H2()private voidexecute4MongoDB()private voidexecute4Neo4j()private voidinsertRandomRecordH2(java.util.Random rnd, java.lang.String playerUuid)private voidinsertRandomRecordMongoDB(java.util.Random rnd, java.lang.String playerUuid)static voidmain(java.lang.String[] args)de.flapdoodle.embed.mongo.MongoDumpExecutablemongoDBDumper(de.flapdoodle.embed.mongo.config.IMongodConfig mongodConfig)de.flapdoodle.embed.mongo.MongoRestoreExecutablemongoDbrestorer(de.flapdoodle.embed.mongo.config.IMongodConfig mongodConfig)org.neo4j.ogm.config.Configurationneo4jConfiguration(org.springframework.boot.autoconfigure.data.neo4j.Neo4jProperties properties)private voidrestoreH2()private voidrestoreMongoDB()voidrun(java.lang.String... args)private voidtestPerformanceH2()private voidtestPerformanceMongoDB()
-
-
-
Field Detail
-
HUNDRED_THOUSAND
public static final int HUNDRED_THOUSAND
- See Also:
- Constant Field Values
-
TEN_THOUSAND
public static final int TEN_THOUSAND
- See Also:
- Constant Field Values
-
ONE_THOUSAND
public static final int ONE_THOUSAND
- See Also:
- Constant Field Values
-
fleetMongoDBRepository
@Autowired private FleetMongoDBRepository fleetMongoDBRepository
-
mongoDBDumper
@Autowired private de.flapdoodle.embed.mongo.MongoDumpExecutable mongoDBDumper
-
mongoDBRestorer
@Autowired private de.flapdoodle.embed.mongo.MongoRestoreExecutable mongoDBRestorer
-
fleetNeo4jRepository
@Autowired private FleetNeo4jRepository fleetNeo4jRepository
-
fleetH2Repository
@Autowired private FleetH2Repository fleetH2Repository
-
mongodbDumpLocation
private final java.lang.String mongodbDumpLocation
-
-
Method Detail
-
main
public static void main(java.lang.String[] args) throws java.lang.Exception- Throws:
java.lang.Exception
-
run
public void run(java.lang.String... args) throws java.lang.Exception- Specified by:
runin interfaceorg.springframework.boot.CommandLineRunner- Throws:
java.lang.Exception
-
execute4Neo4j
private void execute4Neo4j()
-
execute4MongoDB
private void execute4MongoDB()
-
execute4H2
private void execute4H2()
-
checkH2DumpAndRestore
private void checkH2DumpAndRestore(java.lang.Iterable<ShipH2Record> allH2RecordsBeforeRestoring)
-
testPerformanceMongoDB
private void testPerformanceMongoDB()
-
testPerformanceH2
private void testPerformanceH2()
-
insertRandomRecordMongoDB
private void insertRandomRecordMongoDB(java.util.Random rnd, java.lang.String playerUuid)
-
insertRandomRecordH2
private void insertRandomRecordH2(java.util.Random rnd, java.lang.String playerUuid)
-
checkMongoDBQueries
private void checkMongoDBQueries(java.lang.String playerUuid1, java.lang.String playerUuid2)
-
checkH2Queries
private void checkH2Queries(java.lang.String playerUuid1, java.lang.String playerUuid2)
-
checkNeo4jQueries
private void checkNeo4jQueries(java.lang.String playerUuid1, java.lang.String playerUuid2)
-
checkMongoDBDumpAndRestore
private void checkMongoDBDumpAndRestore(java.util.List<ShipMongoDBRecord> allMongoDBRecordsBeforeRestoring)
-
dumpMongoDB
private void dumpMongoDB()
-
dumpH2
private void dumpH2()
-
restoreMongoDB
private void restoreMongoDB()
-
restoreH2
private void restoreH2()
-
mongoDBDumper
@Bean public de.flapdoodle.embed.mongo.MongoDumpExecutable mongoDBDumper(de.flapdoodle.embed.mongo.config.IMongodConfig mongodConfig) throws java.io.IOException- Throws:
java.io.IOException
-
mongoDbrestorer
@Bean public de.flapdoodle.embed.mongo.MongoRestoreExecutable mongoDbrestorer(de.flapdoodle.embed.mongo.config.IMongodConfig mongodConfig) throws java.io.IOException- Throws:
java.io.IOException
-
neo4jConfiguration
@Bean public org.neo4j.ogm.config.Configuration neo4jConfiguration(org.springframework.boot.autoconfigure.data.neo4j.Neo4jProperties properties)
-
-