1

これは私のアプリケーション リクエスト フローです。

XML 要求は、XML が解析され、Java で構築されたドメイン オブジェクトに値を設定するサービス レイヤーに送られます。次に、構築されたドメイン オブジェクトが JRules のルールに対して検証されました。

検証中、JRules BOM メソッドから sybase データベースへの複雑なクエリ呼び出しがあります。このメソッド呼び出しは、私の DEV および SIT 環境で問題なく値を返しています。ただし、いくつかのリクエストに対して UAT 環境で値を返すことができません。

UAT ログを確認する機会がありましたが、実行時間が 800 ミリ秒を超えると、特定のクエリが値を返さないことがわかりました。実行時間が 750 ミリ秒未満のいくつかのリクエストで、問題なく値が返されることがわかりました。クエリのタイムアウトに関連するエラーは表示されませんでした。

Websphere レベルの設定または sybase レベルの設定 (DEFAULT_TIMEOUT_VALUE) で、このクエリの実行に影響を与えて何も返さない場所はありますか?

4

1 に答える 1

0

この問題の理由がわかりました。その特定のクエリ呼び出しでデッドロックが発生しているようです。これは、サービス ログで確認されました。再試行メカニズムを導入する予定です。

于 2012-12-29T17:40:54.963 に答える