Java 唯一JMSMessageID的最大大小
我在应用程序中使用JMS满足我的一个需求。我想在数据库中存储每条消息的唯一ID(实际上是MDB),通过该数据库,我使用以下代码获取唯一ID:Java 唯一JMSMessageID的最大大小,java,jakarta-ee,jms,weblogic-10.x,Java,Jakarta Ee,Jms,Weblogic 10.x,我在应用程序中使用JMS满足我的一个需求。我想在数据库中存储每条消息的唯一ID(实际上是MDB),通过该数据库,我使用以下代码获取唯一ID: @Override public void onMessage(Message msg) { try { id = msg.getJMSMessageID(); } catch (JMSException e1) { } } 从上面的代码中,我有消息唯一I
@Override
public void onMessage(Message msg) {
try {
id = msg.getJMSMessageID();
} catch (JMSException e1) {
}
}
从上面的代码中,我有消息唯一ID,但我想知道的是任何消息的最大大小,因此我需要相应地配置数据库
我正在使用Weblogic Server。JMS消息ID的最大长度由JMS提供程序定义 您至少需要查阅提供商文档,以确定数据库列的适当大小。对于更具可移植性的解决方案,您应该将其设置为一个相当大的值——这样您就不会依赖任何一个供应商的JMS实现来指定列的大小
我想说,对于最可移植的解决方案,如果可以避免的话,您根本不应该存储JMS消息ID。您可以为邮件生成自己的ID,并将其存储,这将允许您为自己的目的定义正确的列长度。实际上,我想在流程完成时更新该特定邮件的数据库,因为我正在将邮件ID存储在数据库中。根据您的建议,创建我自己的ID,我可以在邮件中设置该唯一ID。setJMSMessageID(XX)并通过调用Message.getJMSMessageID()在MDB类中使用该ID?是否必须与依赖该ID的另一个系统通信?还是你在别处记下了身份证?因为如果没有,您可以简单地为消息存储自己的唯一ID,然后在整个处理阶段使用它。