У меня возникла проблема с настройкой таймаута, который используется при установлении нового соединения с базой данных Oracle при использовании пула соединений.DataSource getConnection() настройка таймаута подключения с помощью jndi
Я использую DBCP
в Tomcat и XML для настройки ресурса.
В исходном коде я получаю DataSource
и подключение, как это:
DataSource ds = (DataSource) envCtx.lookup("jdbc/anncDB");
Connection conn = ds.getConnection();
Это прекрасно работает, если IP, указанный в URL доступен. Но если он недоступен, требуется 3 минуты до возврата getConnection()
. Мне нужно настроить это на меньшее.
Я пробовал setLoginTimeout()
, но это не работает. Выполнение ds.setLoginTimeout()
занимает 3 минуты перед сбоем.
Любые идеи?
вот мой XML: <Имя ресурса = "JDBC/anncDB" AUTH = "Контейнер" тип = "javax.sql.DataSource" maxActive = "10" maxIdle = "1" maxWait = "5000" имя пользователя = "хххх" пароль = "хххх" driverClassName = "oracle.jdbc.driver.OracleDriver" URL = "jdbcracle: тонкий: @ 10.0.0.0: 1521: ODS" factory = "org.apache.commons.dbcp.BasicDataSourceFactory" /> –
может быть, вы можете протестировать ds.setMaxWait (aDurationInMilliseconds) – vincent