问题标签 [tibco-ems]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
150 浏览

java - 回退错误 JMS

如果你有另一个 tibco ems (tibjms) 的附加程序,你能分享一下吗?我是 Tibco EMS 的新手,非常感谢您的任何帮助。提前致谢。

0 投票
2 回答
1758 浏览

jms - 连接失败:达到最大连接数 0

max_connections属性设置为0 连接数不受限制),但 ems 服务器仍然继续将其吐出到 tibemsd.log

[admin:somehost]:连接失败:达到最大连接数 0

这怎么可能?

谢谢!

0 投票
2 回答
6646 浏览

java - 例外:使用 Tibco Web 消息传递连接到 TIBCO EMS 时出现“未找到名称”

我正在尝试将 Tibco Web Messaging (TWM) 连接到 Tibco EMS。但是我在 ConnectionFactory 上得到 NameNotFoundException。下面是日志。

有没有人遇到同样的错误。

谢谢,纳文

0 投票
1 回答
542 浏览

c++ - 如何确保通过 JMS 成功发送短信?

我已经通过 JMS 编写了一个带有 C++ 的文本消息发送程序。

假设 status == 0,这意味着只有 Function 工作成功。这并不意味着我的短信已成功发送 如何确保我的短信已成功发送?我应该从 JMS Queue 中获取 ID 或 Acknowledge 吗?

0 投票
2 回答
5431 浏览

java - 删除 JMS 消息属性

我正在编写一个 Java 批处理,它正在侦听来自队列(Oracle AQ)的消息并将它们发送到另一个队列(Tibco EMS),在那里它们由 Tibco 进程(BW)处理。

问题是 Oracle AQ 驱动程序会自动向消息(JMSXGroupID、JMSXGroupSeq)添加一些属性,这些属性在 Tibco 进程处理时会导致错误,因为它们具有错误的值:JMSXGroupSeq 应该是 int 但设置为 null。尝试解析消息属性时,Tibco 陷入错误...

所以我想从所有消息中只删除这两个属性,但似乎 jms api 只提供 clearProperties() 方法但没有单个属性删除方法(我使用的是 javax.jms.Message 接口)。

目前,我可以看到两种解决方案:

  1. 为这两个属性设置正确的值,因为我假设 Tibco 不会进一步使用它们

  2. 读取所有属性并重建没有导致问题的 2 的消息。但是这种方法非常丑陋...

有没有人有任何其他的解决方案?

0 投票
2 回答
1148 浏览

tibco - TIBCO EMS 是否支持 STOMP 传输协议?

我们想使用 STOMP 来访问 EMS 代理,并避免 JMS 的复杂性。EMS可以实现这个想法吗?

0 投票
1 回答
2088 浏览

java - 每个客户的 Tibco JMS (EMS) TimeToLive?

我无法仅从谷歌中弄清楚这一点。我正在连接到一个非持久 EMS 主题,该主题发布一组数据的更新。如果我跳过一些更新,没关系,因为接下来的更新无论如何都会覆盖它。

在 EMS 主题上发布的消息数量非常多,有时无论出于何种原因,消费者都会落后。有没有办法在客户端连接端确定消息的“生存时间”?我知道在其他经纪人上也有,但特别是在 Tibco 上,我一直无法弄清楚这是否可能,只是这个参数绝对可以在服务器端为所有客户端设置(这不是我的选择)。

我正在创建我的连接工厂,然后使用以下代码创建一个 Apache Camel jms 端点:

我正在使用 tibjms-6.0.1、tibjmsufo-6.0.1 和其他各种 tib***-6.0.1。

0 投票
2 回答
2560 浏览

java - 如何使用快速生产者正确排空队列?

我遇到需要排空 JMS(特别是 Tibco EMS)队列的情况。用例是,如果我们要进行大规模中断,队列会建立起来,处理它会花费很长时间。因此,我们想要排空队列,并执行冷启动类型的例程来获取当前状态。

到目前为止,我要做的代码如下:

基本上它会循环接收消息,直到在收到消息之前timeout过期,这表明队列是空的。

我的问题涉及timeout. 假设我们在队列中有一个非常快的生产者,设置一个 500 毫秒的超时似乎有点武断。我们可能会无限循环(即生产者每 500 毫秒产生 >= 1 条消息)

另一种方法是使用 receiveNoWait()。据我了解,这会在消息可用时提取消息,或者返回 null,而不涉及超时。但是,根据这篇文章:

如果您调用 receiveNoWait() 并且代理上可能有消息,并非所有 JMS 提供程序都会立即返回一条消息,因此值得等待一秒钟左右,以确保队列确实已耗尽。

那么有没有更强大的方法可以从程序化方法中做到这一点?或者,Tibco EMS 管理员是否有排水功能?

0 投票
1 回答
360 浏览

java - 消息传递基础设施如何将主题映射到 PUB/SUB 的 IPC/TCP 层?

通常人们只会在这一层之上工作 - 但我现在正在处理这一层,我需要将 PUB/SUB 多对多消息传递关系映射到 IPC 或 TCP 基础设施 - 自然,我只能有 1 个发布者绑定每个地址。

我能想到的替代方案各有各的缺点:

  1. 添加守护程序并路由消息。这会在消息传递过程中增加单点故障以及附加层。
  2. 添加注册表。添加单点故障,也无法通知新启动的进程。
  3. 禁止同一主题的多个发布者 - 在安排架构时失去一些灵活性。
  4. 预定义端口范围和 IPC 地址范围,每个进程都会定期重试连接它们。在服务发现上添加延迟,并且所有端口都必须从操作系统可用。

那么像 JMS、LBM 这样的现代消息传递软件包是如何做到这一点的呢?我知道 Tibco RV 和路透社正在通过方法 1) - 无论如何我可以避免这样的守护进程?

如果重要的话,我正在使用 Java。

谢谢。

0 投票
1 回答
1540 浏览

tibco-ems - 查看 tibco ems 历史消息

Tibco 将消息存储在数据文件或数据库中。我需要浏览发布到主题或队列的旧消息。EMS 是否提供任何 API 来搜索旧/已使用的消息?假设我在时间 t1 有一个主题 complexEvent.topic,发布者向 complexEvent.topic 发布消息,在时间 t2,消费者消费该消息。假设从 t2 开始 2 小时后,我需要查看在 t1 和 t1+ 10(分钟)之间发布到主题 complexEvent.topic 的所有消息。如何搜索旧邮件?