Class DB2UniversalDataStoreHelper
- java.lang.Object
-
- com.ibm.websphere.rsadapter.GenericDataStoreHelper
-
- com.ibm.websphere.rsadapter.DB2DataStoreHelper
-
- com.ibm.websphere.rsadapter.DB2UniversalDataStoreHelper
-
- All Implemented Interfaces:
- DataStoreHelper
- Direct Known Subclasses:
- InformixJccDataStoreHelper
public class DB2UniversalDataStoreHelper extends DB2DataStoreHelper
DB2UniversalDataStoreHelper
is aDataStoreHelper
implementation customized for the DB2 Universal JDBC driver. When mapping aSQLException
, theSQLException
mappings from theDB2UniversalDataStoreHelper
are searched first. If no match is found, theSQLException
mappings from theDB2DataStoreHelper
are searched. If still no match is found, theSQLException
mappings from theGenericDataStoreHelper
are searched. If you have additional requirements on DB2 you should consider subclassing this implementation.
Note: This class and its methods can not be called or referenced directly by user applications.SQLException
mappings specific to theDB2UniversalDataStoreHelper
are the following:Error Code SQL State PortableSQLException
subclass-4498 StaleConnectionException.class
-4499 StaleConnectionException.class
-1776 StaleConnectionException.class
-
-
Field Summary
-
Fields inherited from class com.ibm.websphere.rsadapter.DB2DataStoreHelper
db2Tc
-
Fields inherited from class com.ibm.websphere.rsadapter.GenericDataStoreHelper
customDefinedWasDefaultIsoLevel, defaultQueryTimeout, EOLN, genErrorMap, resBundle, tranErrorList
-
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 and Description DB2UniversalDataStoreHelper(java.util.Properties props)
ThisDB2UniversalDataStoreHelper
constructor creates a newDB2UniversalDataStoreHelper
based on theDataStoreHelper
properties provided.
-
Method Summary
Methods Modifier and Type Method and Description void
doStatementCleanup(java.sql.PreparedStatement stmt)
This method cleans up a statement before the statement is returned to the statement cache.int
getDriverType()
This method returns the driverType which is defined for the DB2 Universal JDBC driver.java.io.PrintWriter
getPrintWriter()
This method is used to obtain the log writer to set on theDataSource
when database logging is enabled (for example:WAS.database=all=enabled
).boolean
isBatchUpdateSupportedWithAccessIntent(AccessIntent accessIntent)
This method is used to determine if CMP Entity Beans can support batch updates with the given AccessIntent.-
Methods inherited from class com.ibm.websphere.rsadapter.DB2DataStoreHelper
doConnectionSetup, findMappingClass, getIsolationLevel, getLockType, getResultSetConcurrency, getXAExceptionContents, setUserDefinedMap, showLockInfo
-
Methods inherited from class com.ibm.websphere.rsadapter.GenericDataStoreHelper
calcPartitionNumber, doConnectionCleanup, doConnectionCleanupPerCloseConnection, doConnectionCleanupWithValidCheck, doConnectionSetupPerGetConnection, doConnectionSetupPerTransaction, getMetaData, getPasswordForUseWithTrustedContextWithAuthentication, getResultSetType, hasLostUpdateOrDeadLockOccurred, isConnectionError, isDuplicateKey, isTransientConnectionError, mapException, modifyXAFlag, setConfig
-
-
-
-
Constructor Detail
-
DB2UniversalDataStoreHelper
public DB2UniversalDataStoreHelper(java.util.Properties props)
ThisDB2UniversalDataStoreHelper
constructor creates a newDB2UniversalDataStoreHelper
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
-
getPrintWriter
public java.io.PrintWriter getPrintWriter()
This method is used to obtain the log 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 WebSphere 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 classDB2DataStoreHelper
- Returns:
java.io.PrintWriter
.- Since:
- WAS 5.0.1
-
isBatchUpdateSupportedWithAccessIntent
public boolean isBatchUpdateSupportedWithAccessIntent(AccessIntent accessIntent)
This method is used to determine if CMP Entity Beans can support batch updates with the given AccessIntent. There are some AccessIntents (for example, WebSphere Optimistic Concurrency Control intent) for which some databases are not always capable of determining the number of updated rows. This prevents CMP Entity Beans from being able to support batch updates. In such cases, this method must return false.DB2UniversalDataStoreHelper
returns a value of true, indicating batch updates are always supported. If necessary, you may change this value by overriding this method.- Specified by:
isBatchUpdateSupportedWithAccessIntent
in interfaceDataStoreHelper
- Overrides:
isBatchUpdateSupportedWithAccessIntent
in classDB2DataStoreHelper
- Parameters:
accessIntent
- AccessIntent- Returns:
- boolean true if batching is allowed with the given AccessIntent, otherwise false.
- Since:
- WAS 5.0.2
- See Also:
AccessIntent
-
getDriverType
public final int getDriverType()
This method returns the driverType which is defined for the DB2 Universal JDBC driver.- Returns:
- driverType - possible value : 2 , 4
- Since:
- WAS 5.0.2
-
doStatementCleanup
public void doStatementCleanup(java.sql.PreparedStatement stmt) throws java.sql.SQLException
This method cleans up a statement before the statement is returned to the statement cache. This method is called only for statements being cached. It is called when at least one of the following statement properties has changed,
- cursorName
- fetchDirection
- maxFieldSize
- maxRows
- queryTimeout
DB2DataStoreHelper
resets all of the statement properties listed aboveThe following operations do not need to be included in the statement cleanup since they are automatically performed by WebSphere when caching statements:
setFetchSize(0)
clearParameters()
clearWarnings()
A helper class implementing this method can choose to do additional cleanup for the statement. However, this must never include closing the statement, since the statement is intended to be cached.
- Specified by:
doStatementCleanup
in interfaceDataStoreHelper
- Overrides:
doStatementCleanup
in classDB2DataStoreHelper
- Parameters:
stmt
- the PreparedStatement.- Throws:
java.sql.SQLException
- if an error occurs cleaning up the statement.
-
-