Я использую драйвер JDBC для Microsoft SQL Server 2012 (sqljdbc_4.0) и, хотя экземпляры Connection
являются поточно-ориентированными, экземпляры Statement
не выглядят (особенно PreparedStatement
).
Я использую вызовы методов Scala .par.foreach
для некоторых коллекций, которые затем выполняют PreparedStatement
экземпляры. В настоящее время я создаю новые PreparedStatement
экземпляры внутри закрытия .foreach
для обработки каждого элемента, поскольку они не являются поточно-ориентированными.
Каждый из PreparedStatement
запросов одинаков, для параметров вопросительного знака подставляются разные значения (?
). Мне интересно, есть ли способ создать пул PreparedStatement
экземпляров, равный по размеру числу потоков, используемых параллельной коллекцией, а затем просто повторно использовать один свободный для каждой итерации замыкания .foreach
, возвращая их в бассейн после повторного использования.