私たちはJacorb 2.2.3のCorbaの実装を使用します。たいていの場合、ほとんどの場合、すべての処理が正常に動作しますが、JacobはCORBAサーバーオブジェクトでAPIを呼び出すと断続的にハングします。JacorbがリモートAPI呼び出しに応答するためにハングします
私はJacorb.propertiesを調整して再作成しようとしました。そして、サーバー側ではなく、無駄に閉じたオブジェクトで作業しようとする。サーバスレッドダンプから
は、
"RequestProcessor-26" ... nid=0x25cc in Object.wait() [0x000000004237f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:700)
- locked <0x0000000150714178> (a org.jacorb.poa.RequestProcessor)
"RequestProcessor-25" ...nid=0x3250 in Object.wait() [0x000000004227f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:700)
- locked <0x0000000150e90748> (a org.jacorb.poa.RequestProcessor)
以下のようにのJacORBが同時要求を処理するために使用のRequestProcessorスレッドは、ロックされていることを観察し、私は二つのこと
- を探していますいずれかがありますJacorb 2.2.3の既知の問題は、クライアントがサーバー側のオブジェクトでAPIを呼び出している間、ハング状態になるということですか?
JacORB 3を使用しない理由はありますか?または最新のものでさえ? – tuergeist
@tuergeistはい、それは生産環境とjarのアップグレードがプロセスと承認を待たなければならないからです。それで、2.2.3でそれを再作成するための一貫性のあるステップがあるかどうか疑問に思って、その時間までに最新のものになるようにしてください。 – Kiran
@Kiranサーバー上のワーカースレッドの数を増やそうとしましたか?また、サーバオブジェクトの実装は、すべてが同じオブジェクトを待っている場合にこのロックアップを引き起こす可能性があります。 – BJovke