1

最近、バージョン0.9.5.3からCastor 1.2にアップグレードしましたが、XMLでアンマーシャルを呼び出すとパフォーマンスが劇的に低下することに気づきました。どちらの場合も、castorによって生成されたJavaクラスにマーシャリングを解除しています。比較のために、同一のXMLを使用すると、XMLアンマーシャル呼び出しにかかる時間は約10〜20ミリ秒でしたが、現在は約2300ミリ秒かかります。新しいキャスターの実装に欠けている可能性のある明らかなものがありますか?おそらく、見逃したプロパティファイルにありますか、それとも古いバージョンに戻すことを検討する必要がありますか?たぶん、Javaクラスファイルの生成に、アンマーシャル呼び出しを強制終了する何かがありましたか?他の何かを支持してそれを落とす正当な理由があれば、私はまた、Castorの代替案を検討するかもしれません。weblogicサーバーでjava1.5を使用しています。

4

4 に答える 4

3

.castor.cdrファイルでcastor1.0.5を使用すると、非常に深刻なパフォーマンスの問題が発生しました(以前は数ミリ秒かかっていましたが、アンマーシャリングには数秒かかりました)。

.castor.cdrで生成されたファイルに古い/間違った値(存在しないタイプと記述子)が含まれているように見えました。このファイルの問題のある行を削除した後、すべてが正常に戻りました。

これが同じ問題を抱えている人に役立つことを願っています!

于 2011-10-13T16:23:32.933 に答える
1

最終的にCastorバージョン0.9.5.3に戻り、新しいXSDからJavaクラスを再生成した後、パフォーマンスが急上昇しました。結果のJavaの間にこのような大きな違いがある理由はわかりませんが、1.2クラスは、マーシャリングを解除すると約2桁遅くなりました。

**編集:** ClassDescriptorResolvers / mappingファイルを作成し、検証をオフにすると、パフォーマンスも向上する可能性がありますが、スキーマ生成プロセスで約1000個のオブジェクトを作成するため、コストの観点からは実際には実行できません。

于 2008-10-22T20:34:16.007 に答える
1

代わりにJiBX の使用を検討することをお勧めします。Castor よりもかなり高速で (私が切り替えたプロジェクトでは 9 倍高速)、クリーンです。

編集:この関連する質問に対する私の回答も参照してください。

于 2008-10-21T16:25:00.750 に答える
0

私もこの問題を抱えています。XML の基本的な顧客/住所セットを生成する場合、74 人の顧客を含むドキュメントを生成するのに約 3 秒かかります。

(テスト用に) 1.0.4 に戻すと、これは 1.4 秒に戻ります。

しかし、XML を手動でローリングすると、40 ミリ秒未満で出力が表示されます。

Castor で実行されたプロファイリングはありますか?

Dan の提案に従って、JiBX を調査します。

于 2009-01-30T01:07:24.313 に答える