Пулы соединения JDBC Tomcat становятся общими между экземплярами?

Вот немного отличающееся решение для рекурсии стиля:

public static int countOccurrences(String haystack, char needle)
{
    return countOccurrences(haystack, needle, 0);
}

private static int countOccurrences(String haystack, char needle, int accumulator)
{
    if (haystack.length() == 0) return accumulator;
    return countOccurrences(haystack.substring(1), needle, haystack.charAt(0) == needle ? accumulator + 1 : accumulator);
}
5
задан Scott Bonner 28 August 2009 в 12:24
поделиться

4 ответа

Нет. Область имени источника данных - один экземпляр Tomcat.

Если вы запускаете отдельный процесс Tomcat для каждого клиента, все, что имеет значение, - это то, как настроен источник данных, а не то, как его называет Tomcat. Пока каждый источник данных настроен на использование другой базы данных, перекрестных разговоров не будет.

5
ответ дан 14 December 2019 в 01:12
поделиться

Это зависит от того, как вы развертываете приложение для каждого клиента,

  1. Если каждый клиент получает свою собственную установку Tomcat (у них разные CATALINA_HOME), у него нет шансов пересечься.
  2. ] Если все они используют одну и ту же установку, но работают в Tomcat как разные хосты, вам нужно убедиться, что вы не определяете источник данных в conf / context.xml, который используется всеми хостами.
  3. Если все клиенты используют общий те же экземпляры Tomcat, и это просто разные веб-приложения, требуется больше внимания. Вам нужно определить источник данных либо в META-INF / context.xml, либо в WEB-INF / web.xml. Для дальнейшей изоляции вы должны скопировать dbcp.jar в WEB-INF / lib каждого приложения, чтобы они использовали свой собственный экземпляр DBCP.
3
ответ дан 14 December 2019 в 01:12
поделиться

Если вы определяете ресурс JNDI DataSource в контексте для развертывания приложения, я считаю, что у вас может быть даже несколько копий одного и того же приложения, работающего в тот же экземпляр Tomcat и использование того же имени JNDI для доступа к разным базам данных. Если каждый экземпляр приложения полностью запускается в другом экземпляре Tomcat, то определенно невозможно, чтобы один экземпляр ссылался на базу данных, указанную для другого экземпляра.

1
ответ дан 14 December 2019 в 01:12
поделиться

Нет шансов пересечь базу данных, потому что область имени источника данных - это один экземпляр Tomcat, и вы можете иметь несколько источников данных в одном экземпляре tomcat .... при условии, что данные источник другой нет шансов пересечь базу данных .....

0
ответ дан 14 December 2019 в 01:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: