@Override public Builder<?> read(JdbcStringBasedStoreConfiguration template) { super.read(template); this.table.read(template.table()); return this; }
public JdbcStoreReader(StoreProperties props) { this.props = props; this.marshaller = SerializationConfigUtil.getMarshaller(props); this.config = JdbcConfigurationUtil.getStoreConfig(props); this.connectionFactory = new PooledConnectionFactory(); String segmentCount = props.get(Element.SEGMENT_COUNT); this.metaData = new DbMetaData(config.dialect(), config.dbMajorVersion(), config.dbMinorVersion(), false, false, // If we don't have segments then disable it segmentCount == null || Integer.parseInt(segmentCount) <= 0); this.stringConfig = config.table(); this.binaryConfig = createBinaryTableConfig(); connectionFactory.start(config.connectionFactory(), JdbcStoreReader.class.getClassLoader()); }
@Override public void serialize(XMLExtendedStreamWriter writer, JdbcStringBasedStoreConfiguration configuration) throws XMLStreamException { writer.writeStartElement(Element.STRING_KEYED_JDBC_STORE); writeJdbcStoreAttributes(writer, configuration); writeCommonStoreSubAttributes(writer, configuration); writeJDBCStoreTable(writer, Element.STRING_KEYED_TABLE, configuration.table()); writeJDBCStoreConnection(writer, configuration); writeCommonStoreElements(writer, configuration); writer.writeEndElement(); }
public static TableManager getManager(ConnectionFactory connectionFactory, JdbcStringBasedStoreConfiguration config) { DbMetaData metaData = getDbMetaData(connectionFactory, config.dialect(), config.dbMajorVersion(), config.dbMinorVersion(), isPropertyDisabled(config, UPSERT_DISABLED), isPropertyDisabled(config, INDEXING_DISABLED), !config.segmented()); return getManager(metaData, connectionFactory, config.table()); }
@Override protected void compareStoreConfiguration(String name, StoreConfiguration beforeStore, StoreConfiguration afterStore) { if (beforeStore instanceof AbstractJdbcStoreConfiguration) { AbstractJdbcStoreConfiguration before = (AbstractJdbcStoreConfiguration) beforeStore; AbstractJdbcStoreConfiguration after = (AbstractJdbcStoreConfiguration) afterStore; assertEquals("Configuration " + name + " JDBC connection factory", before.connectionFactory(), after.connectionFactory()); } if (beforeStore instanceof JdbcStringBasedStoreConfiguration) { JdbcStringBasedStoreConfiguration before = (JdbcStringBasedStoreConfiguration) beforeStore; JdbcStringBasedStoreConfiguration after = (JdbcStringBasedStoreConfiguration) afterStore; compareAttributeSets("Configuration " + name + " table", before.table().attributes(), after.table().attributes()); } super.compareStoreConfiguration(name, beforeStore, afterStore); } }
public void testTableProperties() { Properties props = new Properties(); props.put("createOnStart", "false"); props.put("dropOnExit", "true"); ConfigurationBuilder b = new ConfigurationBuilder(); b.persistence().addStore(JdbcStringBasedStoreConfigurationBuilder.class) .connectionPool().connectionUrl(JDBC_URL) .withProperties(props); Configuration stringConfiguration = b.build(); JdbcStringBasedStoreConfiguration stringStoreConfiguration = (JdbcStringBasedStoreConfiguration) stringConfiguration.persistence().stores().get(0); assertFalse(stringStoreConfiguration.table().createOnStart()); assertTrue(stringStoreConfiguration.table().dropOnExit()); } }
assert store.connectionFactory() instanceof PooledConnectionFactoryConfiguration; assert ((PooledConnectionFactoryConfiguration)store.connectionFactory()).connectionUrl().equals(JDBC_URL); assert store.table().tableNamePrefix().equals("STRINGS_"); assert store.table().idColumnName().equals("id"); assert store.table().idColumnType().equals("VARCHAR"); assert store.table().dataColumnName().equals("datum"); assert store.table().dataColumnType().equals("BINARY"); assert store.table().timestampColumnName().equals("version"); assert store.table().timestampColumnType().equals("BIGINT"); assert store.fetchPersistentState(); assert store.async().enabled(); assert store2.connectionFactory() instanceof PooledConnectionFactoryConfiguration; assert ((PooledConnectionFactoryConfiguration)store2.connectionFactory()).connectionUrl().equals(JDBC_URL); assert store2.table().tableNamePrefix().equals("STRINGS_"); assert store2.table().idColumnName().equals("id"); assert store2.table().idColumnType().equals("VARCHAR"); assert store2.table().dataColumnName().equals("datum"); assert store2.table().dataColumnType().equals("BINARY"); assert store2.table().timestampColumnName().equals("version"); assert store2.table().timestampColumnType().equals("BIGINT"); assert store2.fetchPersistentState(); assert store2.async().enabled();
JdbcStringBasedStoreConfiguration store = (JdbcStringBasedStoreConfiguration) cacheManager.getDefaultCacheConfiguration().persistence().stores().get(0); assertEquals(128, store.table().batchSize()); assertEquals(34, store.table().fetchSize()); assertEquals("BINARY", store.table().dataColumnType()); assertEquals("version", store.table().timestampColumnName()); assertTrue(store.async().enabled()); assertEquals("DummyKey2StringMapper", store.key2StringMapper());