Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 唯一JMSMessageID的最大大小_Java_Jakarta Ee_Jms_Weblogic 10.x - Fatal编程技术网

Java 唯一JMSMessageID的最大大小

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

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

@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,然后在整个处理阶段使用它。