Я использую приложение (Pentaho), которое использует Jackrabbit.
В конфигурации соединение определяется следующим образом:
<FileSystem class="org.apache.jackrabbit.core.fs.db.MSSqlFileSystem">
<param name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<param name="url" value="jdbc:sqlserver://%%REPOSITORY_SERVER%%:%%REPOSITORY_PORT%%;DatabaseName=%%REPOSITORY_JCR_DATABASE%%"/>
<param name="user" value="%%REPOSITORY_JCR_USER%%"/>
<param name="password" value="%%REPOSITORY_JCR_PASSWORD%%"/>
<param name="schema" value="mssql"/>
<param name="schemaObjectPrefix" value="fs_repos_"/>
</FileSystem>
(Конечно, наша система CI заменяет токены)
У нас есть проблема, когда иногда сервер теряет соединение с БД. Так что из того, что я прочитал, я считаю, что нам нужно поместить здесь запрос проверки.
Это легко сделать в других наших соединениях, но в этом случае мы не определяем соединение, мы устанавливаем параметры для класса Jackrabbit, даже если эти параметры очень похожи на соединения.
Итак, Могу ли я поместить валидационный запрос в URL? У кого-нибудь есть примеры этого? Как будет выглядеть синтаксис, так как запрос проверки имеет пробел:
select 1