Class Configuration
- java.lang.Object
-
- io.vlingo.symbio.store.common.jdbc.Configuration
-
- Direct Known Subclasses:
Configuration.TestConfiguration
public class Configuration extends java.lang.Object
A standard configuration for JDBC connections used byStateStore
,Journal
, andObjectStore
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
Configuration.ConfigurationInterest
static class
Configuration.TestConfiguration
-
Field Summary
Fields Modifier and Type Field Description java.lang.String
actualDatabaseName
java.sql.Connection
connection
boolean
createTables
java.lang.String
databaseName
static long
DefaultTransactionTimeout
A default timeout for transactions if not specified by the client.java.lang.String
driverClassname
io.vlingo.symbio.store.DataFormat
format
protected Configuration.ConfigurationInterest
interest
java.lang.String
originatorId
java.lang.String
password
long
transactionTimeoutMillis
java.lang.String
url
java.lang.String
username
boolean
useSSL
-
Constructor Summary
Constructors Constructor Description Configuration(Configuration.ConfigurationInterest interest, java.lang.String driverClassname, io.vlingo.symbio.store.DataFormat format, java.lang.String url, java.lang.String databaseName, java.lang.String username, java.lang.String password, boolean useSSL, java.lang.String originatorId, boolean createTables)
Configuration(Configuration.ConfigurationInterest interest, java.lang.String driverClassname, io.vlingo.symbio.store.DataFormat format, java.lang.String url, java.lang.String databaseName, java.lang.String username, java.lang.String password, boolean useSSL, java.lang.String originatorId, boolean createTables, long transactionTimeoutMillis)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
actualDatabaseName(java.lang.String databaseName)
protected void
afterConnect()
protected void
beforeConnect()
static Configuration
cloneOf(Configuration other)
protected java.sql.Connection
connect(java.lang.String url, java.lang.String databaseName)
-
-
-
Field Detail
-
DefaultTransactionTimeout
public static final long DefaultTransactionTimeout
A default timeout for transactions if not specified by the client. Note that this is not used as a database timeout, but rather the timeout between reading some entity/entities from storage and writing and committing it/them back to storage. This means that user think-time is built in to the timeout value. The current default is 5 minutes but can be overridden by using the constructor that accepts thetransactionTimeoutMillis
value. For a practical use of this see the following implementations, where this timeout represents the time between creation of theUnitOfWork
and its expiration:io.vlingo.symbio.store.object.jdbc.jdbi.JdbiObjectStoreDelegate
io.vlingo.symbio.store.object.jdbc.jdbi.UnitOfWork
- See Also:
- Constant Field Values
-
actualDatabaseName
public final java.lang.String actualDatabaseName
-
connection
public final java.sql.Connection connection
-
databaseName
public final java.lang.String databaseName
-
driverClassname
public final java.lang.String driverClassname
-
format
public final io.vlingo.symbio.store.DataFormat format
-
url
public final java.lang.String url
-
username
public final java.lang.String username
-
password
public final java.lang.String password
-
useSSL
public final boolean useSSL
-
originatorId
public final java.lang.String originatorId
-
createTables
public final boolean createTables
-
transactionTimeoutMillis
public final long transactionTimeoutMillis
-
interest
protected final Configuration.ConfigurationInterest interest
-
-
Constructor Detail
-
Configuration
public Configuration(Configuration.ConfigurationInterest interest, java.lang.String driverClassname, io.vlingo.symbio.store.DataFormat format, java.lang.String url, java.lang.String databaseName, java.lang.String username, java.lang.String password, boolean useSSL, java.lang.String originatorId, boolean createTables) throws java.lang.Exception
- Throws:
java.lang.Exception
-
Configuration
public Configuration(Configuration.ConfigurationInterest interest, java.lang.String driverClassname, io.vlingo.symbio.store.DataFormat format, java.lang.String url, java.lang.String databaseName, java.lang.String username, java.lang.String password, boolean useSSL, java.lang.String originatorId, boolean createTables, long transactionTimeoutMillis) throws java.lang.Exception
- Throws:
java.lang.Exception
-
-
Method Detail
-
cloneOf
public static Configuration cloneOf(Configuration other) throws java.lang.Exception
- Throws:
java.lang.Exception
-
actualDatabaseName
protected java.lang.String actualDatabaseName(java.lang.String databaseName)
-
afterConnect
protected void afterConnect() throws java.lang.Exception
- Throws:
java.lang.Exception
-
beforeConnect
protected void beforeConnect() throws java.lang.Exception
- Throws:
java.lang.Exception
-
connect
protected java.sql.Connection connect(java.lang.String url, java.lang.String databaseName)
-
-