从不同线程使用 JMS 会话

2024-04-20

来自 javadocSession http://java.sun.com/javaee/6/docs/api/javax/jms/Session.html它指出:

Session 对象是用于生成和使用消息的单线程上下文。

所以我明白你不应该使用两个不同线程的 Session 对象同时。我不清楚的是,您是否可以从与它创建的线程不同的线程中使用 Session 对象(或子对象,例如队列)。

在我正在处理的情况下,我正在考虑将我的 Session 对象放入可用会话池中,任何线程都可以从该池中借用、使用并在完成后返回到池中。

这是犹太洁食吗?

(顺便说一句,使用 ActiveMQ,如果这会影响答案的话。)


我认为第 4.4 节的脚注JMS 1.1 规范 http://download.oracle.com/otndocs/jcp/7195-jms-1.1-fr-spec-oth-JSpec/揭示了一些线索:

对于可以使用 Session 对象或其创建的线程的数量没有限制。限制是 Session 的资源不应该被多个线程同时使用。由用户来确保满足此并发限制。最简单的方法是使用一个线程。如果是异步交付,则使用一个线程在停止模式下进行设置,然后启动异步交付。在更复杂的情况下,用户必须提供显式同步。

根据我对规范的阅读,只要您正确管理并发性,您想要做的事情就可以。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从不同线程使用 JMS 会话 的相关文章

  • 如何以编程方式使用包含多列的 where-in 子句执行 PostgreSQL 查询?

    我的查询是这样的 select from plat customs complex where code t code s in 01013090 10 01029010 90 它在 psql 控制台中运行良好 我的问题是如何在客户端代码中
  • 为什么在谈论线程和进程时,“不要同时格式化软盘”的评论很有趣?

    我正在阅读之间的区别线程和进程 https stackoverflow com questions 200469 what is the difference between a process and a thread并在第二个答案中发现
  • 有人用过 ServiceLoader 和 Guice 一起使用吗?

    我一直想通过我们的应用程序 构建系统进行更大规模的尝试 但更高的优先级不断将其推到次要地位 这似乎是加载 Guice 模块的好方法 并且避免了关于 硬编码配置 的常见抱怨 单个配置属性很少会自行更改 但您几乎总是会有一组配置文件 通常用于不
  • 我对线程失去了理智

    我想要这个类的对象 public class Chromosome implements Runnable Comparable
  • 如何使用 Java 引用释放 Java Unsafe 内存?

    Java Unsafe 类允许您按如下方式为对象分配内存 但是使用此方法在完成后如何释放分配的内存 因为它不提供内存地址 Field f Unsafe class getDeclaredField theUnsafe Internal re
  • ThreeTen 向后移植与 JSR-310 的比较

    由于某些原因 我们现在无法使用 java 8 我们仍然停留在 java 7 上 不过 我想使用新的JSR 310 date time APIs现在 使用官方向后移植 ThreeTen http www threeten org threet
  • 在光标所在行强制关闭!

    嘿 我正在尝试创建一个应用程序来查找存储在 SQlite 数据库中的 GPS 数据 但我面临一个问题 我构建了一个 DbAdapter 类来创建数据库 现在我尝试使用以下函数从另一个类获取所有数据上的光标 public Cursor fet
  • Mockito 和 Hamcrest:如何验证 Collection 参数的调用?

    我遇到了 Mockito 和 Hamcrest 的泛型问题 请假设以下界面 public interface Service void perform Collection
  • 如何使用双重调度来分析图形基元的交集?

    我正在分析图形基元 矩形 直线 圆形等 的交互并计算重叠 相对方向 合并等 这被引用为双重调度的一个主要示例 例如维基百科 http en wikipedia org wiki Double dispatch 自适应碰撞算法通常要求 不同的
  • Android 认为我没有关闭数据库!为什么?

    我有一个 SQLiteDatabase 数据成员 我在 onCreate 中初始化它 并在 onPause onStop 和 onDestroy 中调用 close 它在 onResume 中重新初始化 它似乎运行得很好 但当我查看调试器时
  • UseCompressedOops JVM 标志有什么作用以及何时应该使用它?

    HotSpot JVM 标志是什么 XX UseCompressedOops我应该做什么以及什么时候使用它 在 64 位 Java 实例上使用它 与不使用它 时 我会看到什么样的性能和内存使用差异 去年大多数 HotSpot JVM 都默认
  • 从三点求圆心的算法是什么?

    我在圆的圆周上有三个点 pt A A x A y pt B B x B y pt C C x C y 如何计算圆心 在Processing Java 中实现它 我找到了答案并实施了一个可行的解决方案 pt circleCenter pt A
  • 为什么Apache MPM prefork.c 使用互斥体来保护accept()?

    我坐下来读书Apache 的 MPM prefork c http code metager de source xref apache httpd server mpm prefork prefork c这段代码使用了一个名为accept
  • 我们如何使用 thymeleaf 绑定对象列表的列表

    我有一个表单 用户可以在其中添加任意数量的内容表对象这也可以包含他想要的列对象 就像在 SQL 中构建表一样 我尝试了下面的代码 但没有任何效果 并且当我尝试绑定两个列表时 表单不再出现 控制器 ModelAttribute page pu
  • 使用 WF 的多线程应用程序的错误处理模式?

    我正在写一个又长又详细的问题 但只是放弃了它 转而选择一个更简单的问题 但我在这里找不到答案 应用程序简要说明 我有一个 WPF 应用程序 它生成多个线程 每个线程执行自己的 WF 处理线程和 WF 中的错误 允许用户从 GUI 端进行交互
  • 用于请求带有临时缓存的远程 Observable 的 RxJava 模式

    用例是这样的 我想暂时缓存最新发出的昂贵的Observable响应 但在它过期后 返回到昂贵的源Observable并再次缓存它 等等 一个非常基本的网络缓存场景 但我真的很难让它工作 private Observable
  • C++11 动态线程池

    最近 我一直在尝试寻找一个用于线程并发任务的库 理想情况下 是一个在线程上调用函数的简单接口 任何时候都有 n 个线程 有些线程比其他线程完成得更快 并且到达的时间不同 首先我尝试了 Rx 它在 C 中非常棒 我还研究了 Blocks 和
  • Android ScrollView,检查当前是否滚动

    有没有办法检查标准 ScrollView 当前是否正在滚动 方向是向上还是向下并不重要 我只需要检查它当前是否正在滚动 ScrollView当前形式不提供用于检测滚动事件的回调 有两种解决方法可用 1 Use a ListView并实施On
  • Selenium 单击在 Internet Explorer 11 上不起作用

    我尝试在 Internet Explorer 上单击 selenium 但它不起作用 我努力了element click moveToElement element click build perform javascript没事了 事实上
  • 设置 TreeSet 的大小

    有没有办法像数组一样对 Java 集合中的 TreeSet 进行大小限制 例如我们在数组中 anArray new int 10 数组具有固定长度 在创建数组时必须指定该长度 A TreeSet当您向其中添加元素时会自动增长 您无法设置其大

随机推荐

  • 如何在异步代码中处理 CPU 密集型任务

    我正在做一些需要异步方法的繁重处理 我的一个方法返回一个字典列表 在将其添加到另一个可等待对象之前需要对其进行大量处理 IE def cpu bound task here record some complicated preproces
  • ExoPlayer - 奇怪的阿拉伯语/波斯语字幕格式

    我正在尝试创建一个带字幕的视频播放器 除了一件事之外 一切都已设置并正常工作 我的阿拉伯语字幕没有正确显示 它们的符号和东西看起来很奇怪 像这样 这是我的带有字幕的 ExoPlayer 设置 Uri srt Uri parse http d
  • Exchange Web 服务:UseDefaultCredentials 属性

    这个微软页面 http msdn microsoft com en us library exchange ff597939 28v exchg 80 29 aspx表示通过将 UseDefaultCredentials 属性设置为 tru
  • 为方法创建 IObservable 的好方法是什么?

    比方说 我们有一堂课 public class Foo public string Do int param 我想创建一个可观察的值 这些值是由Do方法 一种方法是创建一个正在调用的事件Do并使用Observable FromEvent创建
  • 如何使用 Spring 注入键值属性文件?

    我有一个键值属性文件 其中包含错误代码及其错误消息 我想在应用程序启动时注入此文件 以便我可以在注入的属性上进行查找 而无需读取该文件 下面只是伪代码 里面有什么吗Spring可以创建这个设置吗 Value location classpa
  • 如何解决 AutoMapper 错误? (堆栈溢出异常!)

    我在用自动映射器 http automapper codeplex com EF 实体 gt POCO 用于以下类 public class Category public int CategoryID get set public str
  • 如何避免 fread() 将日期信息导入为 IDate?

    我最初编写了一个脚本 该脚本通过约 70k 次迭代进行计算 我使用 rbind 将结果 缝合 在一起 1 次迭代可能会产生 0 到多行的结果 所以我不认为预先分配输出会使感觉 为了加快速度 我将其分成 4 个单独的脚本 每个脚本在单独的会话
  • 为什么 wm_concat 在这里不起作用?

    我有这个查询 SELECT OBJECT ID from cr object group entries vw where object group id IN SELECT ITEM FROM TABLE CR FN SPLIT STRI
  • Java Swing 取消无限循环

    我在 Swing 中遇到了无限循环问题 做了一些研究并遇到了 SwingWorker 线程 但不太确定如何实现它们 我已经拼凑了一个简单的程序来显示问题 一个按钮启动无限循环 我希望另一个按钮停止它 但当然 由于 Swing 单线程问题 另
  • 选择一个元素及其所有后代元素

    选择一个元素and它的所有后代元素 media media color f00 我是否只能使用一个选择器 而不是用逗号分隔两个选择器 我正在寻找一种更有效的方式来输入此内容 With XPath https www w3schools co
  • Swing 中带有小字体的字符串的边界

    关于计算应绘制到 Swing 组件中的字符串的大小 宽度或高度 存在许多 许多 问题 并且提出了许多解决方案 然而 我注意到这些解决方案中的大多数都not对于小字体可以正常工作 下面是一个MCVE https stackoverflow c
  • 如何在 Winforms 中将枚举转换为布尔值以进行数据绑定?

    是否有可能做到这一点 我需要使用 this ControlName DataBindings Add 所以我除了绑定我之外无法定义逻辑enum值对一个bool 例如 DataClass Data Type enum EDIT 我需要绑定Da
  • WordPress 403/404 错误:您无权访问此服务器上的 /wp-admin/themes.php

    一些背景 这周我建立了六个博客 全部使用 Wordpress 2 92 通过 Hostgator 与 Fantastico 一起安装在婴儿鳄鱼计划上 我为每个博客使用相同的主题 热图 2 5 4 和插件 他们都已启动并运行 没有任何问题 今
  • 如何在 Swing 中使 JCheckBox 成为只读?

    我想要一列复选框指示持久程序的步骤 在这种情况下 用户不应更改复选框 它们由后台进程更改 不幸的是 如果我打电话setEnable false 我使复选框不仅只读 而且变暗 如何实现 从复选框中删除 MouseListener 和 Key
  • AngularJS 显示或隐藏表单元素的方式是什么?

    这个问题是 Tami Wright 在邮件列表中提出的 我正从 JQuery 进入 AngularJS 世界 但不太确定如何翻译特定的用例 这在 JQuery 中是不费吹灰之力的 该用例是根据同一表单中选择元素的更改来启用 禁用或隐藏 显示
  • Directory.GetCurrentDirectory() 在 Linux 上不起作用?

    因此 我尝试创建一个需要读取名为 scripts 的子文件夹中的脚本的应用程序 我的代码有问题 string script Console ReadLine string path Directory GetCurrentDirectory
  • 为什么 Django 模型信号不起作用?

    我正在尝试根据用户的状态创建用户的活动流 models class Status models Model body models TextField max length 200 image models ImageField blank
  • android.permission.REMOVE_TASKS :权限被拒绝

    我想删除最近的任务列表 通过谷歌搜索 我找到了一些来自 stackoverflow 的链接 但他们都没有得到适当的答复 只有一个链接 Android 如何清除大多数手机中可以通过Home按钮获取的最近任务列表 反思是一种可能的方式吗 htt
  • 我可以使 SQL Server FORMAT 具有确定性吗?

    我想制作一个返回整数形式的 UDFYYYYMM这样我就可以轻松地按月划分一些东西 我试图将此函数分配给 a 的值PERSISTED计算列 我目前有以下内容 效果很好 CREATE FUNCTION dbo GetYearMonth pDat
  • 从不同线程使用 JMS 会话

    来自 javadocSession http java sun com javaee 6 docs api javax jms Session html它指出 Session 对象是用于生成和使用消息的单线程上下文 所以我明白你不应该使用两