0

我在我的应用程序中使用 JMS 来满足我的要求之一。我想将每个消息的唯一 ID(实际上是 MDB)存储在数据库中,通过该数据库我使用以下代码获取唯一 ID:

@Override
public void onMessage(Message msg) {
        try {
            id = msg.getJMSMessageID();             
        } catch (JMSException e1) {
        } 
}

从上面的代码我有消息唯一 ID,但我想知道任何消息的最大大小可能是什么,因此我需要相应地配置数据库。

我正在使用 Weblogic 服务器。

4

1 回答 1

1

JMS 消息 ID 的最大长度由 JMS 提供者定义。

您至少需要查阅您的提供者文档,以确定您的数据库列的适当大小。对于更便携的解决方案,您应该将其设置为相当大的值 - 这样您就不会依赖任何供应商的 JMS 实现来规定列的大小。

我想说,对于最便携的解决方案,如果可以避免的话,根本不应该存储 JMS 消息 ID。您始终可以为消息生成自己的 ID 并将其存储起来,这样您就可以为自己的目的定义正确的列长度。

于 2012-04-17T10:26:20.663 回答