サーバ : プロトコル : jCOM
このページでは、このサーバの Java to COM (jCOM) プロトコル設定を定義します。 jCOM を使用すると、Java で記述されたアプリケーションで COM (コンポーネント オブジェクト モデル) オブジェクトを使用できるようになります。
また、このタブでは、次の機能を有効化または無効化できます。
- NT 認証ホスト アドレス
- ネイティブ モードで実行するか、非ネイティブ モードで実行するか
- サーバでメモリ使用量をロギングするかどうか
- 列挙値のプリフェッチが有効かどうか
- jCOM がネイティブ モードで初期化されるかどうか
注意 : ナビゲーション ツリーの [セキュリティ]、[互換性セキュリティ]、 および [サービス -> jCOM] ノードを使用可能にするには、現在のユーザが
Admin
セキュリティ ロールに含まれている必要があります。コンフィグレーション オプション
名前 説明 COM を有効化 通常 (非 SSL) ポートで COM サポートを有効化するかどうかを指定します。COM は SSL ポートではサポートされていません (このページのその他のフィールドは、このチェック ボックスをオンにした場合のみ関連します)。
MBean 属性:
ServerMBean.COMEnabled
NT 認証ホスト このサーバがクライアントの認証に使用するプライマリ ドメイン コントローラのアドレス (指定されていない場合、COM クライアントは認証されません)。
MBean 属性:
COMMBean.NTAuthHost
ネイティブ モードを有効化 Java オブジェクトと COM オブジェクトとの対話を可能にするために、サーバでネイティブ DLL を使用するかどうかを指定します (Windows のみでサポート)。
MBean 属性:
COMMBean.NativeModeEnabled
冗長ロギングを有効化 冗長なロギングを有効にするかどうかを指定します。
MBean 属性:
COMMBean.VerboseLoggingEnabled
メモリ ロギングを有効化 このサーバでメモリ使用量をログに記録するかどうかを指定します。
MBean 属性:
COMMBean.MemoryLoggingEnabled
列挙値のプリフェッチ サーバが java.lang.Enumeration 内の次の要素をプリフェッチするかどうかを指定します。java.lang.Enumeration は COM VariantEnumeration 型から不完全な形で変換されたものです。正しい値は hasMoreElements() メソッドが呼び出されたときに返されます。
一部の COM メソッドは、COM VariantEnumeration 型を返します。java2com ツールは、返された型を java.lang.Enumeration に自動的に変換します。しかし、これは完全な一致にはなりません。COM Enumeration には
hasMoreElements()
呼び出しに相当するものがないためです。クライアントは、NoSuchElementException
が発生するまでnextElement
を呼び出し続ける必要があります。このプロパティを設定すると、jCOM はバックグラウンドで次の要素をプリフェッチして、hasMoreElements が呼び出されたときに正しい値を返します。MBean 属性:
COMMBean.PrefetchEnums
アパートメント スレッド ネイティブ モードで COM を初期化するために使用されるフラグを制御します。
デフォルトでは、jCOM によりネイティブ モードで COM が初期化される場合、COM は
COINIT_MULTITHREADED
を使用して起動されます。そのため、COM ではマルチスレッド アパートメント (Multi-Threaded Apartment : MTA) スレッド モデルを使用することになります。MTA モデルでは、オブジェクトの呼び出しが COM によって同期化されません。このモデルをサポートするオブジェクトを別のスレッドで複数のクライアントから同時に呼び出すことが可能で、オブジェクトはそのインタフェースとメソッドの実装においてイベント、ミューテックス、セマフォなどの同期オブジェクトを使用して同期を提供する必要があります。MTA オブジェクトは、オブジェクトのプロセスに属する COM で作成されたスレッドのプールを介して、複数のプロセス外のクライアントから同時に呼び出されることが可能です。COM がネイティブ モードで起動しているときにサーバが「Class Not Registered Message」というログを記録する場合、このプロパティを設定します。それによって jCOM が COM をネイティブ モードで起動する際に
COINIT_MULTITHREADED
オプションではなくCOINIT_APARTMENTTHREADED
オプションを使用するようになります。コンポーネント内ではこれはアパートメント スレッドとしてマークされ、コンポーネントの各メソッドは、コンポーネントが関連付けられている 1 つのスレッドで実行されるようになります。これによって 1 つの「アパートメント」に対応するコンポーネントの各インスタンスと共に、メソッドも各自のアパートメントに区分けされます。コンポーネント内に存在するスレッドは 1 つだけですが、そのコンポーネントの各インスタンスには独自のスレッド アパートメントがあることになります。MBean 属性:
COMMBean.ApartmentThreaded