我在我的应用程序中使用JMS作为我的一个要求。我想在数据库中存储每个消息的唯一ID(实际上是MDB),我通过以下代码获取唯一ID:
@Override
public void onMessage(Message msg) {
try {
id = msg.getJMSMessageID();
} catch (JMSException e1) {
}
}
从上面的代码我有消息唯一ID,但我想知道的是什么可能是任何消息的最大大小,所以我需要相应地配置数据库。
我正在使用Weblogic Server。
答案 0 :(得分:1)
JMS消息ID的最大长度由JMS提供程序定义。
至少您需要查阅提供商文档,以确定数据库列的适当大小。对于更便携的解决方案,您应该将其设置为相当大的值 - 这样您就不依赖于任何一个供应商JMS实现来指定列的大小。
我想说,对于最便携的解决方案,如果可以避免,则根本不应存储JMS消息ID。您始终可以为邮件生成自己的ID,并将其存储,这样就可以为您的目的定义正确的列长度。