in modules/core/src/main/java/org/apache/synapse/config/xml/AbstractDBMediatorFactory.java [184:268]
private void readPoolProperty(AbstractDBMediator mediator, DataSourceInformation dataSourceInformation,
OMElement prop) {
String name = prop.getAttribute(ATT_NAME).getAttributeValue();
String value = prop.getAttribute(ATT_VALUE).getAttributeValue();
mediator.addDataSourceProperty(name, value);
if ("autocommit".equals(name)) {
if ("true".equals(value)) {
dataSourceInformation.setDefaultAutoCommit(true);
} else if ("false".equals(value)) {
dataSourceInformation.setDefaultAutoCommit(false);
}
} else if ("isolation".equals(name)) {
try {
if ("Connection.TRANSACTION_NONE".equals(value)) {
dataSourceInformation.setDefaultTransactionIsolation(Connection.TRANSACTION_NONE);
} else if ("Connection.TRANSACTION_READ_COMMITTED".equals(value)) {
dataSourceInformation.setDefaultTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
} else if ("Connection.TRANSACTION_READ_UNCOMMITTED".equals(value)) {
dataSourceInformation.setDefaultTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
} else if ("Connection.TRANSACTION_REPEATABLE_READ".equals(value)) {
dataSourceInformation.setDefaultTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);
} else if ("Connection.TRANSACTION_SERIALIZABLE".equals(value)) {
dataSourceInformation.setDefaultTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
}
} catch (NumberFormatException ignore) {
}
} else if ("initialsize".equals(name)) {
try {
dataSourceInformation.setInitialSize(Integer.parseInt(value));
} catch (NumberFormatException ignore) {
}
} else if ("maxactive".equals(name)) {
try {
dataSourceInformation.setMaxActive(Integer.parseInt(value));
} catch (NumberFormatException ignore) {
}
} else if ("maxidle".equals(name)) {
try {
dataSourceInformation.setMaxIdle(Integer.parseInt(value));
} catch (NumberFormatException ignore) {
}
} else if ("maxopenstatements".equals(name)) {
try {
dataSourceInformation.setMaxOpenPreparedStatements(Integer.parseInt(value));
} catch (NumberFormatException ignore) {
}
} else if ("maxwait".equals(name)) {
try {
dataSourceInformation.setMaxWait(Long.parseLong(value));
} catch (NumberFormatException ignore) {
}
} else if ("minidle".equals(name)) {
try {
dataSourceInformation.setMinIdle(Integer.parseInt(value));
} catch (NumberFormatException ignore) {
}
} else if ("poolstatements".equals(name)) {
if ("true".equals(value)) {
dataSourceInformation.setPoolPreparedStatements(true);
} else if ("false".equals(value)) {
dataSourceInformation.setPoolPreparedStatements(false);
}
} else if ("testonborrow".equals(name)) {
if ("true".equals(value)) {
dataSourceInformation.setTestOnBorrow(true);
} else if ("false".equals(value)) {
dataSourceInformation.setTestOnBorrow(false);
}
} else if ("testonreturn".equals(name)) {
if ("true".equals(value)) {
dataSourceInformation.setTestOnReturn(true);
} else if ("false".equals(value)) {
dataSourceInformation.setTestOnReturn(false);
}
} else if ("testwhileidle".equals(name)) {
if ("true".equals(value)) {
dataSourceInformation.setTestWhileIdle(true);
} else if ("false".equals(value)) {
dataSourceInformation.setTestWhileIdle(false);
}
} else if ("validationquery".equals(name)) {
dataSourceInformation.setValidationQuery(value);
}
}