Spring JdbcTemplate和线程技术

4

在Swing中使用JdbcTemplate执行插入操作时,使用分支线程是否安全?

这是一个日志事件,尽可能不要影响感知性能。

3个回答

10

需要注意的是,Spring 3.1参考文档中非常详细地解释了JdbcTemplate的线程安全性:(链接)

13.2.1.2 JdbcTemplate最佳实践

JdbcTemplate类的实例在配置后是线程安全的。这很重要,因为这意味着您可以配置一个JdbcTemplate实例,然后安全地将此共享引用注入多个DAO(或存储库)。 JdbcTemplate是有状态的,因为它维护对DataSource的引用,但这种状态不是会话状态。


6
请注意仔细阅读“一旦配置好”这一部分,因此不要误用setMaxResult来限制给定查询的给定线程的结果集,因为它会影响使用共享JdbcTemplate实例的所有查询和所有线程。 - Stevo Slavić

7

0

你为什么认为它不会呢?

我没有直接从Swing使用过JdbcTemplate,但我在几个Web应用程序中使用过(每个请求都有一个单独的线程),并且从中没有遇到任何线程问题。在这种情况下,模板在应用程序启动时配置一次,并使用不同的参数重复调用。

如果您担心线程问题,您可以始终为每个日志记录线程创建一个新模板...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接