Spring JdbcTemplate 和线程

发布于 2024-07-12 10:10:17 字数 99 浏览 8 评论 0原文

在 Swing 中使用 JdbcTemplate 分叉一个线程来执行插入是否安全。

这是一个日志记录事件,我尽可能不希望它影响感知的性能。

Is it safe to fork off a Thread to execute an insert using a JdbcTemplate in Swing.

It's a logging event and as much as possible I don't want it to affect perceived performance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一生独一 2024-07-19 10:10:17

另请注意,它的线程安全性是 Spring 3.1 参考文档中有很好的解释

13.2.1.2 JdbcTemplate 最佳实践

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

Also note that its thread-safety is very well explained in the Spring 3.1 reference documentation:

13.2.1.2 JdbcTemplate best practices

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.

暖阳 2024-07-19 10:10:17

Spring 论坛的这个答案说是.t=25965

JdbcTemplate 是一个单例,一旦设置就不会更改状态。

This answer from the Spring forum says yes.t=25965

JdbcTemplate is a singleton that won't change state once it's set.

那支青花 2024-07-19 10:10:17

你为什么认为不会呢?

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

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

Why would you think that it wouldn't be?

I've not used JdbcTemplate directly from Swing, but I have in several web applications (which have a separate thread per request) and I've never had any problems with threading issues from it. In this situation the template was configured once at application startup and repeatedly called with different parameters.

If you're worried about threading issues, you can always create a new template per logging thread...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文