@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); } }
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); } }
private static void configureDbMeta(StoreProperties props, JdbcStringBasedStoreConfigurationBuilder builder) { props.required(DIALECT); DatabaseType type = DatabaseType.valueOf(props.get(DIALECT).toUpperCase()); builder.dialect(type); String prop; if ((prop = props.get(DB, MAJOR_VERSION)) != null) { builder.dbMajorVersion(new Integer(prop)); } if ((prop = props.get(DB, MINOR_VERSION)) != null) { builder.dbMinorVersion(new Integer(prop)); } String disableUpsert = props.get(DB, DISABLE_UPSERT); boolean upsert = Boolean.parseBoolean(disableUpsert); if (upsert) builder.addProperty(TableManagerFactory.UPSERT_DISABLED, disableUpsert); String disableIndexing = props.get(DB, DISABLE_INDEXING); boolean indexing = Boolean.parseBoolean(disableIndexing); if (indexing) builder.addProperty(TableManagerFactory.INDEXING_DISABLED, disableIndexing); }
break; case DIALECT: builder.dialect(DatabaseType.valueOf(value)); break; case DB_MAJOR_VERSION:
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(); }