@Override public TableManipulationConfiguration get() { return new ConfigurationBuilder().persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class).table() .idColumnName(this.columns.get(ID).getKey()) .idColumnType(this.columns.get(ID).getValue()) .dataColumnName(this.columns.get(DATA).getKey()) .dataColumnType(this.columns.get(DATA).getValue()) .timestampColumnName(this.columns.get(TIMESTAMP).getKey()) .timestampColumnType(this.columns.get(TIMESTAMP).getValue()) .fetchSize(this.fetchSize) .tableNamePrefix(this.prefix) .create(); } }
@Override public void accept(JdbcStringBasedStoreConfigurationBuilder builder) { builder.table().read(this.table.get()); for (TwoWayKey2StringMapper mapper : ServiceLoader.load(TwoWayKey2StringMapper.class, this.module.get().getClassLoader())) { builder.key2StringMapper(mapper.getClass()); break; } builder.dialect(this.dialect).connectionFactory(DataSourceConnectionFactoryConfigurationBuilder.class).setDataSourceDependency(this.dataSource); } }
@Override public TableManipulationConfiguration get() { return new ConfigurationBuilder().persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class).table() .idColumnName(this.columns.get(ID).getKey()) .idColumnType(this.columns.get(ID).getValue()) .dataColumnName(this.columns.get(DATA).getKey()) .dataColumnType(this.columns.get(DATA).getValue()) .timestampColumnName(this.columns.get(TIMESTAMP).getKey()) .timestampColumnType(this.columns.get(TIMESTAMP).getValue()) .fetchSize(this.fetchSize) .tableNamePrefix(this.prefix) .create(); } }
private AbstractJdbcStoreConfigurationBuilder<?, ?> buildJdbcStore(PersistenceConfigurationBuilder loadersBuilder, OperationContext context, ModelNode store, DatabaseType databaseType) throws OperationFailedException { JdbcStringBasedStoreConfigurationBuilder builder = loadersBuilder.addStore(JdbcStringBasedStoreConfigurationBuilder.class); builder.dialect(databaseType); buildDbVersions(builder, context, store); this.buildStringKeyedTable(builder.table(), context, store.get(ModelKeys.STRING_KEYED_TABLE)); return builder; }
@Override public void accept(JdbcStringBasedStoreConfigurationBuilder builder) { builder.table().read(this.table.get()); for (TwoWayKey2StringMapper mapper : ServiceLoader.load(TwoWayKey2StringMapper.class, this.module.get().getClassLoader())) { builder.key2StringMapper(mapper.getClass()); break; } builder.dialect(this.dialect).connectionFactory(DataSourceConnectionFactoryConfigurationBuilder.class).setDataSourceDependency(this.dataSource); } }
@Override protected PersistenceConfigurationBuilder createCacheStoreConfig(PersistenceConfigurationBuilder persistence, boolean preload) { JdbcStringBasedStoreConfigurationBuilder store = persistence .addStore(JdbcStringBasedStoreConfigurationBuilder.class) .preload(preload); UnitTestDatabaseManager.buildTableManipulation(store.table()); UnitTestDatabaseManager.configureUniqueConnectionFactory(store); return persistence; } }
@Override protected void configurePersistence(ConfigurationBuilder cb) { JdbcStringBasedStoreConfigurationBuilder storeBuilder = cb.persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class); UnitTestDatabaseManager.configureUniqueConnectionFactory(storeBuilder); UnitTestDatabaseManager.buildTableManipulation(storeBuilder.table()); }
@Override protected void configurePersistence(ConfigurationBuilder cb) { JdbcStringBasedStoreConfigurationBuilder storeBuilder = cb.persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class); UnitTestDatabaseManager.configureUniqueConnectionFactory(storeBuilder); UnitTestDatabaseManager.buildTableManipulation(storeBuilder.table()); storeBuilder.segmented(true); } }
@BeforeClass public void createCacheStore() throws PersistenceException { ConfigurationBuilder builder = TestCacheManagerFactory.getDefaultCacheConfiguration(false); JdbcStringBasedStoreConfigurationBuilder storeBuilder = createJdbcConfig(builder); UnitTestDatabaseManager.buildTableManipulation(storeBuilder.table()); UnitTestDatabaseManager.configureUniqueConnectionFactory(storeBuilder); cacheStore = new JdbcStringBasedStore(); marshaller = new TestObjectStreamMarshaller(); cacheStore.init(PersistenceMockUtil.createContext(getClass().getSimpleName(), builder.build(), marshaller)); cacheStore.start(); tableManager = (TableManager) ReflectionUtil.getValue(cacheStore, "tableManager"); }
@BeforeClass public void createConnection() throws Exception { JdbcStringBasedStoreConfigurationBuilder storeBuilder = TestCacheManagerFactory .getDefaultCacheConfiguration(false) .persistence() .addStore(JdbcStringBasedStoreConfigurationBuilder.class); UnitTestDatabaseManager.setDialect(storeBuilder); UnitTestDatabaseManager.buildTableManipulation(storeBuilder.table()); ConnectionFactoryConfiguration factoryConfiguration = UnitTestDatabaseManager.configureUniqueConnectionFactory(storeBuilder).create(); if (factoryConfiguration instanceof SimpleConnectionFactoryConfiguration) { SimpleConnectionFactoryConfiguration simpleConfiguration = (SimpleConnectionFactoryConfiguration) factoryConfiguration; connectionFactory = ConnectionFactory.getConnectionFactory(SimpleConnectionFactory.class); connectionFactory.start(simpleConfiguration, connectionFactory.getClass().getClassLoader()); connection = connectionFactory.getConnection(); } else if (factoryConfiguration instanceof PooledConnectionFactoryConfiguration) { PooledConnectionFactoryConfiguration pooledConfiguration = (PooledConnectionFactoryConfiguration) factoryConfiguration; connectionFactory = ConnectionFactory.getConnectionFactory(PooledConnectionFactory.class); connectionFactory.start(pooledConfiguration, connectionFactory.getClass().getClassLoader()); connection = connectionFactory.getConnection(); } tableManager = TableManagerFactory.getManager(connectionFactory, storeBuilder.create()); tableManager.setCacheName("aName"); }
public void testConnectionLeakGuessDialect() throws Exception { JdbcStringBasedStoreConfigurationBuilder storeBuilder = TestCacheManagerFactory .getDefaultCacheConfiguration(false) .persistence() .addStore(JdbcStringBasedStoreConfigurationBuilder.class); UnitTestDatabaseManager.buildTableManipulation(storeBuilder.table()); PooledConnectionFactory connectionFactory = new PooledConnectionFactory(); ConnectionFactoryConfiguration config = UnitTestDatabaseManager .configureUniqueConnectionFactory(storeBuilder).create(); connectionFactory.start(config, Thread.currentThread().getContextClassLoader()); // JdbcStringBasedStoreConfiguration defaults to null dialect, so dialect and versions must be guessed TableManager tableManager = TableManagerFactory.getManager(connectionFactory, storeBuilder.create()); tableManager.setCacheName("GuessDialect"); tableManager.start(); UnitTestDatabaseManager.verifyConnectionLeaks(connectionFactory); tableManager.stop(); connectionFactory.stop(); }
@BeforeMethod public void beforeClass() { ConfigurationBuilder cc = TestCacheManagerFactory.getDefaultCacheConfiguration(true); JdbcStringBasedStoreConfigurationBuilder storeBuilder = cc .persistence() .addStore(JdbcStringBasedStoreConfigurationBuilder.class) .shared(true) .transactional(true); UnitTestDatabaseManager.configureUniqueConnectionFactory(storeBuilder); UnitTestDatabaseManager.setDialect(storeBuilder); UnitTestDatabaseManager.buildTableManipulation(storeBuilder.table()); cacheManager = TestCacheManagerFactory.createCacheManager(new GlobalConfigurationBuilder().defaultCacheName("Test"), cc); cache = cacheManager.getCache("Test"); store = TestingUtil.getFirstTxWriter(cache); }
@Override protected AdvancedLoadWriteStore createStore() throws Exception { ConfigurationBuilder builder = TestCacheManagerFactory.getDefaultCacheConfiguration(false); JdbcStringBasedStoreConfigurationBuilder storeBuilder = builder .persistence() .addStore(JdbcStringBasedStoreConfigurationBuilder.class); storeBuilder.segmented(segmented); UnitTestDatabaseManager.configureUniqueConnectionFactory(storeBuilder); UnitTestDatabaseManager.buildTableManipulation(storeBuilder.table()); JdbcStringBasedStore stringBasedCacheStore = new JdbcStringBasedStore(); stringBasedCacheStore.init(createContext(builder.build())); return stringBasedCacheStore; }
static TableManipulationConfiguration createTableConfig(StoreProperties props, Element tableType, JdbcStringBasedStoreConfigurationBuilder storeBuilder) { return storeBuilder.table() .createOnStart(props.isTargetStore()) .tableNamePrefix(props.get(TABLE, tableType, TABLE_NAME_PREFIX)) .idColumnName(props.get(TABLE, tableType, ID, NAME)) .idColumnType(props.get(TABLE, tableType, ID, TYPE)) .dataColumnName(props.get(TABLE, tableType, DATA, NAME)) .dataColumnType(props.get(TABLE, tableType, DATA, TYPE)) .timestampColumnName(props.get(TABLE, tableType, TIMESTAMP, NAME)) .timestampColumnType(props.get(TABLE, tableType, TIMESTAMP, TYPE)) .segmentColumnName(props.get(TABLE, tableType, SEGMENT, NAME)) .segmentColumnType(props.get(TABLE, tableType, SEGMENT, TYPE)) .create(); }
switch (element) { case STRING_KEYED_TABLE: { parseTable(reader, builder.table()); break;
@Override protected AdvancedLoadWriteStore createStore() throws Exception { ConfigurationBuilder builder = TestCacheManagerFactory.getDefaultCacheConfiguration(false); JdbcStringBasedStoreConfigurationBuilder storeBuilder = builder .persistence() .addStore(JdbcStringBasedStoreConfigurationBuilder.class); storeBuilder.dataSource() .jndiUrl(getDatasourceLocation()); UnitTestDatabaseManager.buildTableManipulation(storeBuilder.table()); JdbcStringBasedStore stringBasedCacheStore = new JdbcStringBasedStore(); stringBasedCacheStore.init(createContext(builder.build())); return stringBasedCacheStore; }
public void testNotCreateConnectionFactory() throws Exception { ConfigurationBuilder builder = TestCacheManagerFactory .getDefaultCacheConfiguration(false); JdbcStringBasedStoreConfigurationBuilder storeBuilder = builder .persistence() .addStore(JdbcStringBasedStoreConfigurationBuilder.class) .manageConnectionFactory(false) .dialect(DatabaseType.H2) .dbMajorVersion(1) .dbMinorVersion(4); storeBuilder.table().createOnStart(false); JdbcStringBasedStore stringBasedCacheStore = new JdbcStringBasedStore(); stringBasedCacheStore.init(createContext(builder.build())); stringBasedCacheStore.start(); assertNull(stringBasedCacheStore.getConnectionFactory()); // this will make sure that if a method like stop is called on the connection then it will barf an exception ConnectionFactory connectionFactory = mock(ConnectionFactory.class); TableManager tableManager = mock(TableManager.class); tableManager.start(); tableManager.setCacheName("otherName"); stringBasedCacheStore.initializeConnectionFactory(connectionFactory); //stop should be called even if this is an external reset(tableManager, connectionFactory); tableManager.stop(); stringBasedCacheStore.stop(); }
static ConfigurationBuilder createCacheStoreConfig(String mapperName, boolean wrap, boolean preload) { ConfigurationBuilder cfg = TestCacheManagerFactory.getDefaultCacheConfiguration(false); JdbcStringBasedStoreConfigurationBuilder store = cfg .persistence() .addStore(JdbcStringBasedStoreConfigurationBuilder.class) .fetchPersistentState(true) .preload(preload) .key2StringMapper(mapperName); UnitTestDatabaseManager.buildTableManipulation(store.table()); if (wrap) { ConnectionFactoryConfigurationBuilder<?> tmp = UnitTestDatabaseManager.configureUniqueConnectionFactory(new ConfigurationBuilder().persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class)); store.connectionFactory(new SharedConnectionFactoryConfigurationBuilder(store)).read((PooledConnectionFactoryConfiguration)tmp.create()); } else { UnitTestDatabaseManager.configureUniqueConnectionFactory(store); } return cfg; }
@Override protected EmbeddedCacheManager createCacheManager() throws Exception { ConfigurationBuilder cb = TestCacheManagerFactory.getDefaultCacheConfiguration(false); cb.persistence() .addStore(JdbcStringBasedStoreConfigurationBuilder.class) .preload(true) .key2StringMapper(LuceneKey2StringMapper.class) .table() .idColumnName("ID_COLUMN") .idColumnType("VARCHAR(255)") .tableNamePrefix("ISPN_JDBC") .dataColumnName("DATA_COLUMN") .dataColumnType("BLOB") .timestampColumnName("TIMESTAMP_COLUMN") .timestampColumnType("BIGINT") .simpleConnection() .driverClass(org.h2.Driver.class) .connectionUrl(DB_URL) .username("sa"); return TestCacheManagerFactory.createCacheManager(cb); }
@Override protected EmbeddedCacheManager createCacheManager() throws Exception { ConfigurationBuilder cb = TestCacheManagerFactory.getDefaultCacheConfiguration(false); cb.persistence() .addStore(JdbcStringBasedStoreConfigurationBuilder.class) .preload(true) .key2StringMapper(LuceneKey2StringMapper.class) .table() .idColumnName("ID_COLUMN") .idColumnType("VARCHAR(255)") .tableNamePrefix("ISPN_JDBC") .dataColumnName("DATA_COLUMN") .dataColumnType("BLOB") .timestampColumnName("TIMESTAMP_COLUMN") .timestampColumnType("BIGINT") .connectionPool() .driverClass(org.h2.Driver.class) .connectionUrl("jdbc:h2:mem:infinispan;DB_CLOSE_DELAY=0") .username("sa"); return TestCacheManagerFactory.createClusteredCacheManager(cb); }