Spring JdbcTemplate и потоки

Безопасно ли разветвлять поток для выполнения вставки с использованием JdbcTemplate в Swing.

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
4
0
14 721
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Почему вы думаете, что это не так?

Я не использовал JdbcTemplate непосредственно из Swing, но у меня есть несколько веб-приложений (которые имеют отдельный поток для каждого запроса), и у меня никогда не было проблем с его потоковой передачей. В этой ситуации шаблон настраивался один раз при запуске приложения и неоднократно вызывался с разными параметрами.

Если вас беспокоят проблемы с потоками, вы всегда можете создать новый шаблон для каждого потока журналов ...

Ответ принят как подходящий

Этот ответ с форума Spring говорит yes.t = 25965

JdbcTemplate - это синглтон, который не меняет состояние после установки.

Уже нет. Спасибо.

duffymo 13.06.2018 17:15

Также обратите внимание, что его потокобезопасность - очень хорошо объяснено в справочной документации Spring 3.1:

13.2.1.2 Лучшие практики JdbcTemplate

Instances of the JdbcTemplate class are threadsafe once configured. This is important because it means that you can configure a single instance of a JdbcTemplate and then safely inject this shared reference into multiple DAOs (or repositories). The JdbcTemplate is stateful, in that it maintains a reference to a DataSource, but this state is not conversational state.

И внимательно прочтите бит «однажды настроенный», поэтому не используйте setMaxResult неправильно для ограничения набора результатов для данного потока для данного запроса, поскольку он влияет на все запросы и все потоки, использующие общий экземпляр JdbcTemplate.

Stevo Slavić 31.12.2012 15:19

Другие вопросы по теме