Spring JdbcTemplate和Threading
在Swing中使用JdbcTemplate
分叉Thread以执行插入是否安全。
这是一个记录事件,我尽可能不希望它影响感知性能。
Spring论坛的答案是yes.t = 25965
JdbcTemplate是一个单例,一旦设置就不会改变状态。
另请注意, Spring 3.1参考文档中对其线程安全性进行了很好的解释 :
13.2.1.2 JdbcTemplate最佳实践
一旦配置,JdbcTemplate类的实例就是线程安全的。 这很重要,因为这意味着您可以配置JdbcTemplate的单个实例,然后将此共享引用安全地注入多个DAO(或存储库)。 JdbcTemplate是有状态的,因为它维护对DataSource的引用,但此状态不是会话状态。
你为什么认为它不会?
我没有直接从Swing使用JdbcTemplate
,但我有几个Web应用程序(每个请求都有一个单独的线程),我从来没有遇到任何线程问题。 在这种情况下,模板在应用程序启动时配置一次,并使用不同的参数重复调用。
如果您担心线程问题,可以随时为每个日志记录线程创建一个新模板…