Параметры URL соединения MySQL JDBC в контексте Tomcat - PullRequest
1 голос
/ 13 октября 2011

Кто-то может указать мне на некоторые ресурсы о том, что на самом деле означает список параметров, добавляемых после этого URL JDBC?

Спасибо!

<Context>
<Resource 
name="jdbc/DB" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
username="user" password="password" 
maxActive="20" 
maxIdle="5" 
url="jdbc:mysql://192.168.0.10:3306,192.168.0.11:3306/testDB?
    autoReconnect=true&amp
    failOverReadOnly=false&amp
    maxReconnects=2&amp
    initialTimeout=2&amp
    connectTimeout=2000&amp 
    socketTimeout=2000&amp
    useLocalSessionState=true&amp
    paranoid=true&amp"
/>
</Context>

Ответы [ 2 ]

4 голосов
/ 29 октября 2014

Подключение / аутентификации

connectTimeout = 2000 означает ожидание до 2 секунд для установления соединения. По умолчанию не тайм-аут.

socketTimeout = 2000 означает ожидание до 2 секунд операций сетевого сокета.

Расширения производительности

useLocalSessionState = true указывает драйверу ссылаться на внутренние значения автоматической фиксации и изоляции транзакции, которые устанавливаются Connection.setAutoCommit () и Connection.setTransactionIsolation (), и состояние транзакции, поддерживаемое протоколом, вместо того, чтобы запрашивать базу данных или отправлять вслепую команды в базу данных для вызовов методов commit () или rollback ().

paranoid = true принимает меры для предотвращения воздействия чувствительной информации в сообщениях об ошибках и очистки структур данных, содержащих конфиденциальные данные, когда это возможно.

Высокая доступность и кластеризация.

autoReconnect = true сообщает драйверу о попытке восстановить устаревшие и / или неработающие соединения. Драйвер сгенерирует исключение для любого запроса, выданного для устаревшего или мертвого соединения, которое принадлежит текущей транзакции, но попытается восстановить соединение до следующего запроса, выполненного для соединения в новой транзакции. Включение этого параметра не рекомендуется , поскольку оно имеет побочные эффекты, связанные с состоянием сеанса и согласованностью данных, когда приложения не обрабатывают исключения SQLExceptions, и предназначено для использования только в том случае, если вы не можете настроить приложение на правильно обрабатывать SQLExceptions, возникающие из-за оборванных и устаревших соединений. В качестве альтернативы, в качестве последнего варианта, изучите установку высокого значения для переменной сервера MySQL "wait_timeout" вместо значения по умолчанию, равного 8 часам.

Следующее применимо, только когда включен режим автоматического повторного подключения.

failOverReadOnly = false означает, что при сбое соединение не должно быть доступно только для чтения.

maxReconnects = 2 Максимальное количество попыток повторного соединения, по умолчанию «3».

initialTimeout = 2 Начальное время ожидания между попытками повторного подключения. По умолчанию 2

См. http://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html

1 голос
/ 13 октября 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...