0

アプリケーションの要件の1つにJMSを使用しています。各メッセージの一意のID(実際にはMDB)をデータベースに保存し、以下のコードを使用して一意のIDを取得しています。

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

上記のコードから、メッセージの一意のIDがありますが、知りたいのは、メッセージの最大サイズである可能性があるため、それに応じてデータベースを構成する必要があります。

WeblogicServerを使用しています。

4

1 に答える 1

1

JMSメッセージIDの最大長は、JMSプロバイダーによって定義されます。

最低限、データベース列の適切なサイズを決定するには、プロバイダーのドキュメントを参照する必要があります。より移植性の高いソリューションの場合は、かなり大きな値に設定する必要があります。そうすれば、1つのベンダーのJMS実装に依存せずに、列のサイズを決定できます。

最も移植性の高いソリューションでは、回避できるのであれば、JMSメッセージIDをまったく保存しないでください。メッセージの独自のIDをいつでも生成して保存することができます。これにより、目的に合った正しい列の長さを定義できます。

于 2012-04-17T10:26:20.663 に答える