Предпосылка: hostB не может быть подключенTomcat - База данных пула соединений проблема
При использовании context.xml (A), каждое соединение данных проверяется на Tomcat в запуске (бросание ошибки при инициализации соединения данных пула для hostB), тогда как с context.xml (B), кажется, ничего не проверяется без ошибок подключения к базе данных.
Кто-нибудь знает, почему это происходит?
Благодаря
↓ context.xml (A)
<Resource name="jdbc/AAA"
initialSize="8"
minIdle="8"
maxWait="300000"
removeAbandoned="true"
removeAbandonedTimeout="60"
auth="Container"
type="javax.sql.DataSource"
username="uname"
password="password"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://hostA:port;databaseName=sqlserverDB" />
<Resource name="jdbc/BBB"
initialSize="8"
minIdle="8"
maxWait="300000"
removeAbandoned="true"
removeAbandonedTimeout="60"
auth="Container"
type="javax.sql.DataSource"
username="uname"
password="password"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://hostB:port;databaseName=sqlserverDB" />
↓ context.xml (B)
<Resource name="jdbc/AAA"
auth="Container"
type="javax.sql.DataSource"
username="uname"
password="password"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://hostA:port;databaseName=sqlserverDB" />
<Resource name="jdbc/BBB"
auth="Container"
type="javax.sql.DataSource"
username="uname"
password="password"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://hostB:port;databaseName=sqlserverDB" />
Согласно [link] (https://tomcat.apache.org/tomcat-8.0-doc/jdbc-pool.html), через defalut, DBCP создает 10 подключений при запуске пула. Есть ли разница между явным определением атрибута initialSize и неявным использованием значения по умолчанию? –
жаль, что я забыл упомянуть и о мини-юнке, и это главная причина в вашем случае. Первоначальный размер был равен 0 по defualt. – Zielu
Основываясь на моем наблюдении, задано ли минимальное значение, если для параметра initialSize установлено значение 0, tomcat не будет пытаться открыть соединения db. DBCP: default initialSize = 0 Tomcat JDBC: default initialSize = 10 –