【问题标题】:Java connection thread pool AND connectionfactory?Java连接线程池和连接工厂?
【发布时间】:2015-08-10 00:11:18
【问题描述】:

我认为有人混淆了他们的模式。我有一个人告诉我使用线程池,另一个人告诉我使用 ConnectionFactory(当然,第二个人不是软件工程师,而是知识渊博的系统架构师)。我将使用线程池,因此我们可以将连接数保持在合理的线程数上。我已经浏览了整个互联网,但我看不到任何人同时使用两者的地方。我正在考虑转储 ConnectionFactory,因为它至少看起来是多余的,我只是不明白为什么或如何使用两者。

只是想看看有没有比我更有知识的人见过这两者一起使用,并能告诉我为什么。

此外,每个连接都必须有自己的几个其他类的实例,并且我们使用的是 pub-sub 架构。我需要确保订阅者没有收到属于另一个连接的已发布消息。我可以使用 ConnectionFactory 进行管理,还是绝对需要使用新线程来确保连接进程之间的分离?

只是在这里寻找一些方向。

谢谢。

【问题讨论】:

  • 这两种模式并不矛盾。
  • 感谢斯蒂芬 C 的回复。好的。我刚刚有人告诉我,大多数人都使用其中一种,根据我的研究,这似乎是真的。所以你能进一步启发我。如果不进行研究并且确实需要有关该主题的更多信息,我就不会问这个问题。您能否详细说明或指出一些对我有用的信息?

标签: java multithreading factory


【解决方案1】:

一般工厂模式是如何创建一个对象。所以ConnectionFactory 模式抽象了Conncetion 的创建方式。

线程池抽象了线程的管理方式,即主要内容是:它们何时启动、有多少线程可运行、它们的调度、它们的停止——而不是创建过程!

您可以同时使用这两种模式。您的 pool 可以使用 factory 正确创建线程或连接对象。

【讨论】:

  • 非常感谢 ka4eli 为我澄清这一点。我希望我能给你另一个支持,告诉我如何将两者结合使用。 :-)
猜你喜欢
  • 2020-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-23
  • 1970-01-01
  • 2019-07-07
  • 1970-01-01
  • 2018-08-13
相关资源
最近更新 更多