Class DataDirectDataStoreHelper
- java.lang.Object
-
- com.ibm.websphere.rsadapter.GenericDataStoreHelper
-
- com.ibm.websphere.rsadapter.DataDirectDataStoreHelper
-
- All Implemented Interfaces:
DataStoreHelper
- Direct Known Subclasses:
ConnectJDBCDataStoreHelper
@Deprecated public class DataDirectDataStoreHelper extends GenericDataStoreHelper
Deprecated.Please use the ConnectJDBCDataStoreHelper instead.DataDirectDataStoreHelper
is used internally by other WebSphere-providedDataStoreHelper
implementations. Do not subclass this class. Do not configure any DataSources to use thisDataStoreHelper
directly.DataDirectDataStoreHelper
s contain a reference to anotherDataStoreHelper
instance specific to the database used. Note: This class and its methods can not be called or referenced directly by user applications.When mapping a
SQLException
, if theSQLException
originated from the DataDirect driver, theSQLException
mappings from theDataDirectDataStoreHelper
are searched first, otherwise the mappings from theDataStoreHelper
instance for the database are searched first. If no match is found, theSQLException
mappings from theGenericDataStoreHelper
are searched.SQLException
mappings specific to theDataDirectDataStoreHelper
are the following:Error Code SQL State PortableSQLException
subclass2217 StaleConnectionException.class
2251 StaleConnectionException.class
2306 StaleConnectionException.class
2310 StaleConnectionException.class
2311 StaleConnectionException.class
08000 StaleConnectionException.class
08002 StaleConnectionException.class
08004 StaleConnectionException.class
08007 StaleConnectionException.class
40003 Void.class
S1000 Void.class
-
-
Field Summary
-
Fields inherited from interface com.ibm.websphere.rsadapter.DataStoreHelper
CLOUDSCAPE_HELPER, CLOUDSCAPE_NETWORK_SERVER_HELPER, CONNECTJDBC_HELPER, CUSTOM_HELPER, DATADIRECT_HELPER, DB2_390_HELPER, DB2_390_LOCAL_HELPER, DB2_400_HELPER, DB2_HELPER, DB2_UNIVERSAL_HELPER, DERBY_HELPER, DERBY_NETWORK_SERVER_HELPER, FIRST_TIME_CALLED, GENERIC_HELPER, INFORMIX_HELPER, INFORMIX_JCC_HELPER, MSSQL_HELPER, ORACLE_10G_HELPER, ORACLE_11G_HELPER, ORACLE_HELPER, POTENTIAL_DEADLOCK, POTENTIAL_LOST_UPDATE, PROXY_DS_HELPER, SEQUELINK_HELPER, SUBJECT, SYBASE_HELPER, SYBASE11_HELPER, TX_REPEATABLE_READ_FORUPDATE, TX_SERIALIZABLE_FORUPDATE, UNDEFINED_HELPER, UNDEFINED_ISOLATOIN_LEVEL, UPDATE_ON_READONLY
-
-
Constructor Summary
Constructors Constructor Description DataDirectDataStoreHelper(java.util.Properties props)
Deprecated.ThisDataDirectDataStoreHelper
constructor creates a newDataDirectDataStoreHelper
based on theDataStoreHelper
properties provided.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
doConnectionSetup(java.sql.Connection conn)
Deprecated.This method configures a connection before first use.java.lang.Class
findMappingClass(java.sql.SQLException e)
Deprecated.This method locates thecom.ibm.websphere.ce.cm.PortableSQLException
subclass corresponding to the specifiedSQLException
, as defined by theDataDirectDataStoreHelper
,GenericDataStoreHelper
, database-specificDataStoreHelper
, and user-definedSQLException
maps.int
getIsolationLevel(AccessIntent intent)
Deprecated.This method determines the default transaction isolation level.java.io.PrintWriter
getPrintWriter()
Deprecated.This method is used to obtain a logger writer to set on theDataSource
when database logging is enabled (for example:WAS.database=all=enabled
).void
setUserDefinedMap(java.util.Map newmap)
Deprecated.This method configures a user-definedSQLException
map that supersedes defaultSQLException
mappings for theDataStoreHelper
.java.lang.String
showLockInfo(java.util.Properties props)
Deprecated.This method returns lock information for the database to which thisDataDirectDataStoreHelper
applies.-
Methods inherited from class com.ibm.websphere.rsadapter.GenericDataStoreHelper
calcPartitionNumber, doConnectionCleanup, doConnectionCleanupPerCloseConnection, doConnectionCleanupWithValidCheck, doConnectionSetupPerGetConnection, doConnectionSetupPerTransaction, doStatementCleanup, getLockType, getMetaData, getPasswordForUseWithTrustedContextWithAuthentication, getResultSetConcurrency, getResultSetType, getXAExceptionContents, hasLostUpdateOrDeadLockOccurred, isBatchUpdateSupportedWithAccessIntent, isConnectionError, isDuplicateKey, isTransientConnectionError, isUnsupported, mapException, modifyXAFlag, setConfig
-
-
-
-
Constructor Detail
-
DataDirectDataStoreHelper
public DataDirectDataStoreHelper(java.util.Properties props)
Deprecated.ThisDataDirectDataStoreHelper
constructor creates a newDataDirectDataStoreHelper
based on theDataStoreHelper
properties provided. All implementations inheriting from a data store helper must supply this same list of properties to their super class by invoking the constructor of their super class with the list of properties.- Parameters:
props
-DataStoreHelper
properties.
-
-
Method Detail
-
findMappingClass
public final java.lang.Class findMappingClass(java.sql.SQLException e)
Deprecated.This method locates the
com.ibm.websphere.ce.cm.PortableSQLException
subclass corresponding to the specifiedSQLException
, as defined by theDataDirectDataStoreHelper
,GenericDataStoreHelper
, database-specificDataStoreHelper
, and user-definedSQLException
maps. Precedence and related details ofSQLException
mapping are described on theDataStoreHelper.setUserDefinedMap
method, with the one exception that the contained database-specificDataStoreHelper
mappings are used in place of theDataDirectDataStoreHelper
mappings if theSQLException
originated in the database as opposed to the DataDirect driver.Overriding this method is one of three options you have for modifying
SQLException
mapping. The other two options are overriding themapException
method and invoking thesetUserDefinedMap
method to add a user-definedSQLException
map.- Overrides:
findMappingClass
in classGenericDataStoreHelper
- Parameters:
e
- TheSQLException
for which to locate acom.ibm.websphere.ce.cm.PortableSQLException
subclass.- Returns:
- The
com.ibm.websphere.ce.cm.PortableSQLException
subclass matching theSQLException
, or null if no match was found.
-
getIsolationLevel
public int getIsolationLevel(AccessIntent intent) throws javax.resource.ResourceException
Deprecated.This method determines the default transaction isolation level. The default value forDataDirectDataStoreHelper
isConnection.TRANSACTION_REPEATABLE_READ.
- Specified by:
getIsolationLevel
in interfaceDataStoreHelper
- Overrides:
getIsolationLevel
in classGenericDataStoreHelper
- Parameters:
intent
- always null in Liberty.- Returns:
- A transaction isolation level.
- Throws:
javax.resource.ResourceException
- If a transaction isolation level cannot be determined.
-
doConnectionSetup
public void doConnectionSetup(java.sql.Connection conn) throws java.sql.SQLException
Deprecated.This method configures a connection before first use. This method is invoked only when a new connection to the database is created. It is not invoked when connections are reused from the connection pool.
DataDirectDataStoreHelper
does not perform any connection setup.- Specified by:
doConnectionSetup
in interfaceDataStoreHelper
- Overrides:
doConnectionSetup
in classGenericDataStoreHelper
- Parameters:
conn
- the connection to set up.- Throws:
java.sql.SQLException
- if connection setup cannot be completed successfully.
-
setUserDefinedMap
public final void setUserDefinedMap(java.util.Map newmap)
Deprecated.This method configures a user-defined
SQLException
map that supersedes defaultSQLException
mappings for theDataStoreHelper
. TheDataStoreHelper
implementations provided by Liberty useSQLException
maps to detect fatal connection errors, as well as other specific types of connection errors. A customDataStoreHelper
can alter the default mappings by invoking this method. Invoke this method only fromDataStoreHelper
classes subclassing this class. Do not invoke this method directly from application code.Example usage of the
setUserDefinedMap
method:public MyCustomDataStoreHelper() { ... java.util.HashMap MyErrorMap = new java.util.HashMap(2); myErrorMap.put(-801, MyDuplicateKeyException.class); myErrorMap.put(-1015, MyStaleConnectionException.class); setUserDefinedMap(myErrorMap); ... }
User-defined exception mapping takes priority over all other exception mapping done by a
DataStoreHelper
.For example, assume the following exception mappings are defined:
User-defined mappings SQL State S1000: UserDefinedException Default mappings Error Code 23505: DuplicateKeyException SQL State S1000: StaleConnectionException
Given the above mappings, if a
SQLException
is received with SQL State S1000 and Error Code 23505, the built-inDataStoreHelper
implementations map the exception toUserDefinedException
.Additionally, mapping done by the built-in
DataStoreHelper
s does not include mapping by chained exceptions when no match is found for the original exception.- Specified by:
setUserDefinedMap
in interfaceDataStoreHelper
- Overrides:
setUserDefinedMap
in classGenericDataStoreHelper
- Parameters:
newmap
- a mapping ofSQLException
SQL States and Error Codes tocom.ibm.websphere.ce.cm.PortableSQLException
subclasses. The key for the Map must be aString
(representing the SQL State) or anInteger
(representing the Error Code). The value for the Map must be a subclass ofcom.ibm.websphere.ce.cm.PortableSQLException
. User-defined subclasses are permitted, but are required to declare a public constructor accepting aSQLException
as the single parameter.Void.class
may also be used for the value, in which case any existing mapping for the specified SQL State or Error Code is removed.
-
getPrintWriter
public java.io.PrintWriter getPrintWriter()
Deprecated.This method is used to obtain a logger writer to set on theDataSource
when database logging is enabled (for example:WAS.database=all=enabled
). By default, null is returned and ajava.io.PrintWriter
instance created by the container is used. You can override this method to return a differentjava.io.PrintWriter
instance instead of the default.- Specified by:
getPrintWriter
in interfaceDataStoreHelper
- Overrides:
getPrintWriter
in classGenericDataStoreHelper
- Returns:
java.io.PrintWriter
.
-
showLockInfo
public java.lang.String showLockInfo(java.util.Properties props) throws java.lang.Exception
Deprecated.This method returns lock information for the database to which this
DataDirectDataStoreHelper
applies. Theprops
parameter should consist of properties appropriate for the contained database-specificDataStoreHelper
- Overrides:
showLockInfo
in classGenericDataStoreHelper
- Parameters:
props
- properties containing information needed to connect to the database.- Returns:
- the lock information.
- Throws:
java.lang.Exception
- if an error occurs while collecting the lock information.
-
-