5

私はこれについて適切なドキュメントを見つけることができませんでした。JCOcom.sap.conn.jco.JCoDestinationcom.sap.conn.jco.JCoDestinationManagerにクラスがあります。それらについての私の質問:

  • それらはスレッドセーフですか?
  • そうでない場合、作成するのに費用がかかりますか?
4

3 に答える 3

2

やっと見つけたと思います。http://help.sap.com/saphelp_nwpi711/helpdata/en/48/6437ccbdbc51eee10000000a421937/content.htm

注意マルチスレッド環境では、異なるスレッド間でのオブジェクト(JCoTableオブジェクトなど)の分散を慎重に実装する必要があります。同じ直接接続に対して複数の同時SAP呼び出しを行うことはできないことに注意してください。

したがって、スレッドセーフではありません

于 2011-11-11T15:12:39.990 に答える
1

JCoフレームワーク全体について、スレッドセーフであるかどうかを言うことはできません。使用するクラスとインスタンスによって異なります。

、、、などJCoFunctionのJCoのデータコンテナインスタンスはスレッドセーフではありません。幸いなことに、通常は異なるスレッドから同時にアクセスされないため、これらのインスタンスを自動的に同期しないとパフォーマンスが向上します。JCoTableJCoStructureJCoRecord

ただし、JCoではクラスと静的メソッドはスレッドセーフです。JCoDestinationManagerたとえば、への呼び出しを同期する必要はありません。

そしてJCoDestinationそれは特別な場合です。通常、このインスタンスへの呼び出しを同期する必要はありません。これは、セッションごとに個別のRFCクライアント接続オブジェクトを内部的に作成して使用するためです。JCoのデフォルトの実装では、すべてのスレッドが個別のセッションとして扱われるため、ここでスレッドセーフに問題が発生することはありません。インフラストラクチャ環境がJCoランタイムで独自SessionReferenceProviderに登録し、同じセッションIDを同時に複数のスレッドに割り当てる場合にのみ、同じ宛先へのステートフルRFC呼び出しでスレッドセーフの競合が発生する可能性があります。この場合、JCoはそのようなエラー状況を検出し、withエラーグループをスローします。JCoExceptionJCO_ERROR_CONCURRENT_CALL

于 2016-12-25T19:16:21.907 に答える
0

コネクタのドキュメントを読みましたか?

https://websmp105.sap-ag.de/~sapidb/011000358700000730362009D/SAPJCo_Doku_3.0_EN.pdf

私はあなたの質問を理解していません、あなたはRFCを呼び出そうとしました、そしてあなたは達成しませんでしたか?

于 2011-11-11T15:00:01.057 に答える