repos_copy は、統合コンポーネントと InterChange Server リポジトリーとを連動させるためのコマンド行インターフェースです。 repos_copy を使用すると、パッケージ (統合コンポーネントのパッケージ) をサーバー・リポジトリーに配置することも、リポジトリーからパッケージにコンポーネントをエクスポートすることもできます。
Repos_copy は、以前のバージョンから現行リリースへのコンポーネントのマイグレーションでも使用されます。古い形式のコンポーネントで作業している場合は、最初にご使用のコンポーネントをマイグレーションしてください。Repos_copy は、「-ar, -arp, -vr, -vp -xCompilePackage」をサポートせず、「-o」の場合に制限があります。また、古い形式のコンポーネントで作業する場合はすべての -xCompile オプションをサポートしません。
repos_copy を実行するには、コマンドをシェル・プロンプト (UNIX) または MS-DOS コマンド・プロンプト・ウィンドウ (Windows) で入力します。このユーティリティーが 格納されている ProductDir/bin ディレクトリーは、インストール結果としてのパスの中になければなりません。
このセクションの内容は次のとおりです。
システムのバックアップの詳細については、「システム管理ガイド」を参照してください。
repos_copy とその引数のオプションについての説明、オプションの大文字小文字の正しい使用法、およびオプションとその引き数の間に間隔を空けないといった点については、表 20に説明されています。この構文は、必要なオプションの集合が中括弧 ({}) の間にあるオプションで表されていることを示しています。-u、-p、-i、-o、または -s のいずれかのオプションをコマンド行に指定しないと、オプションの入力を促すプロンプトが repos_copy によって出されます。オプションの入力を促されたときに指定しないと、repos_copy は実行されません。大括弧 ([]) で囲まれたオプションの指定は任意です。
repos_copy [-sserverName][-uusername][-ppassword] {-i[filename1][-rrelationshipName[relationshipName2]][[-k][-ai|-ar|-arp] [-xcompilePackage][-vp|-vr]} {-o[outfilename[[-fEntityFile][-eEntityType:Entity1[+EntityType:Entity2][+...]] [-deep][-summary]} {[-d]|[-doEntityType:Entity[+EntityType:Entity2][+...]| [-dfoEntityType:Entity[+EntityType:Entity2][+...]} {-v} {-vr} {[-xCompileAll]|[-xCompileAllCollabs]|[-xCompileAllMaps]| [-xCompileCollab:collabTemplateName[+collabTemplateName][+...]]| [-xCompileMap:nativeMapName[+nativeMapName][+...]]}
オプション | 説明 |
---|---|
-ai |
パッケージの配置中に検出された重複オブジェクト
(ビジネス・オブジェクト、マップ、関係、コラボレーション・テンプレート、コラボレーション・オブジェクト、およびコネクター)
は無視され、ロードされません。
|
-ar |
パッケージの配置中に検出された重複オブジェクト (ビジネス・オブジェクト、マップ、関係、コラボレーション・テンプレート、コラボレーション・オブジェクト、およびコネクター) は置き換えられます。
|
-arp |
これは、-ar オプションの対話型バージョンです。 パッケージ内にある配置対象のコンポーネントがリポジトリーに既に存在している場合、コンポーネントを無視するかそれとも置き換えるかを尋ねるプロンプトが表示されます。
|
-d |
リポジトリー内のコンポーネント (ただし状態データを除く)
を削除します。リポジトリーからコンポーネントをすべて削除する場合、このオプションを使用します。
|
-deep |
すべての従属コンポーネントを含めたい場合には、-e オプションとともに使用します。-deep オプションを省略すると、-e オプションで指定されたコンポーネントのみが含まれます。 |
-dfoEntityType:Entity[+EntityType:Entity2] |
このオプションは、コンポーネントの参照がそのコンポーネントに依存する場合でもコンポーネントを強制削除する点以外は、-do オプションと同じです。このオプションは、デザイン・モードで稼働しているサーバーのリポジトリーでのみ有効です。実動モードで稼働しているサーバーでは、未解決の依存関係および参照が許可されません。 |
-doEntityType:Entity[+EntityType:Entity2] |
リポジトリーから削除するエンティティーを指定します。エンティティー・タイプ、およびキーワードのリストについては、表 21 を参照してください。オブジェクトが指示対象 (そのオブジェクトに依存する他のコンポーネント) を持たない場合は、削除が行われます。オブジェクトが指示対象を持つ場合は、削除に失敗し、メッセージがユーザーに表示されます。振る舞いはデザイン・モードでも実動モードでも同じです。サーバーをデザイン・モードまたは実動モードで始動する方法については、「システム・インプリメンテーション・ガイド」を参照してください。 |
-eEntityType:Entity1[+EntityType:Entity2...] |
1 回以上参照された第 1 クラス・エンティティーをエクスポートします。 第 1 クラス・エンティティーとは、ビジネス・オブジェクト、コラボレーション・オブジェクト、コラボレーション・テンプレート、コネクター、データベース接続プール、マップ、または関係です。ロードまたはアンロードするエンティティーは、表 21 のいずれかのキーワードで指定します。 EntityType キーワードの後ろにコロン (:)、そしてエンティティー名が続きます。複数のエンティティーを指定する場合は、「+」を使用します。-o オプションと組み合わせると、-e オプションは出力ファイルにデータをアンロードします。 |
-fentityFile |
このオプションは、-e オプションと似ていますが、インポート対象のエンティティーの名前をファイルに保存する点は異なります。ファイルには、エンティティーへの参照が含まれていなければなりません。また、次の条件が伴います。
このオプションを -o オプションと組み合わせることで、コンポーネントをパッケージにエクスポートできます。 |
-ifilename |
指定したパッケージ・ファイルをリポジトリーに配置します。入力ファイル名の値を省略すると、対話式プロンプトが表示され、入力ファイルの名前を入力するように要求されます。ファイルは、XML 形式のオブジェクトを含む .jar ファイル、または 4.2.0 よりも前のリリースのテキスト形式のファイルにすることができます。 repos_copy または System Manager で作成された .jar ファイルは、特定の構造を持ちます。以降そのようなファイルのインポートに成功するには、この特定の構造を維持する必要があります。したがって、入力ファイルを手動で変更することのないようにしてください。 |
-k |
ロード中のパッケージ・ファイル内に Mercator マップが検出されたときに repos_copy のデフォルトの動作をオーバーライドします。デフォルトでは、repos_copy は Mercator マップを検出すると終了します。-k オプションを使用すると、repos_copy は、パッケージ・ファイル内の Mercator マップをスキップして、配置処理を続行します。 |
-mode |
サーバーのモードを戻します。InterChange Server モードの詳細については、「WebSphere InterChange Server インプリメンテーション・ガイド」を参照してください。 |
-ncencoding |
4.2.0 よりも前のリリースからテキスト・ベースのリポジトリー・ファイルをインポートする場合、文字エンコード方式を指定します。
データを確実にエンコードするには、テキスト・ベースのリポジトリーとは矛盾するエンコード方式を使用する必要があります。方式を誤ると、データが破壊される可能性があります。有効な文字エンコード方式のリストについては、String
クラスに関する Java の資料を参照してください。
|
-ooutfilename |
リポジトリー内のコンポーネントを指定されたパッケージ・ファイルにエクスポートします。パッケージ・ファイル名の指定は必須です。ファイルが既に存在する場合、そのファイルを上書きするかどうかを尋ねるプロンプトが出されます。出力ファイルは、.jar 形式であり、XML 形式のコンポーネント定義だけでなく、それらのコンポーネント定義を持ったコンポーネント用の .java ソース・ファイルも含まれています。このオプションを -i オプション または -d オプションと組み合わせることはできません。テキスト形式でコンポーネントをエクスポートすることもできません。この点は、以前のリリースと同様です。repos_copy では、.jar 拡張子が付加されません。そのため、出力ファイル名を指定するときに拡張子を指定する必要があります。 |
-ppassword |
-u
オプションを使って指定したユーザー名用に、パスワードを指定します。パスワードは、大文字小文字が区別されます。このオプションを指定しないと、パスワードの入力を促すプロンプトが出されます。
|
-r* |
このオプションは -r オプションに似ています。このオプションを使用すると、関係定義をインポートすることができます。ただし、それらの関係定義のいずれについてもランタイム・スキーマは作成されません。 |
-rrelationshipName1[:relationshipName2] |
ランタイム・スキーマを作成せずに、指定された関係定義をリポジトリーにロードします。
|
-sserverName |
repos_copy がインターフェースをとる InterChange Server
インスタンスの名前を指定します。この名前では、大文字と小文字が区別されます。サーバー名が指定されていない場合、このツールはサーバー名を要求するプロンプトを出します。
|
-summary |
このオプションは、サーバー・リポジトリー内のコンポーネントのリストを出力します (コンポーネントは、出力データ内のコンポーネントとしてではなく「成果物」 として識別されます)。出力は XML 形式です。このオプションを -o オプションと組み合わせて使用することで、出力データをコンソールにではなくファイルに出力できます。 |
-uusername |
InterChange Server
にログインするユーザー名を指定します。ユーザー名が指定されていない場合は、ユーザー名を要求するプロンプトが出されます。
|
-v |
repos_copy
ユーティリティーが実行するプログラムのバージョン番号を出力します。
|
-vp |
このオプションは、パッケージ・ファイルを検証します。サーバーは、リポジトリーと照合してパッケージを検証し、パッケージ内のコンポーネント間の依存関係が解決されていることを確認します。検証が正常に終了されない場合、欠落している依存関係のリストが出力されます。このオプションはリポジトリーを変更せず、パッケージ・ファイルを検証するのみです。-vp オプションを使用するときは、-i オプションも使用して検証対象のパッケージ・ファイルを指定する必要があります。 |
-vr |
このオプションは、リポジトリーを検証します。出力メッセージにより、検証が正常に終了したかどうかが示されます。検証が正常に終了されない場合、欠落している依存関係のリストが出力されます。
|
-wi |
このオプションを指定すると、コラボレーション・テンプレートまたはマップのコンパイル中に発生した警告は表示されません。表示されるのは、コンパイル中に発生したエラーのみです。これにより、例えば、推奨されないメソッドについては警告を無視できるようになります。
|
-xCompileAll |
リポジトリー内のコラボレーション・テンプレートおよびマップをすべてコンパイルします。リリース
4.2
以降を使用して作成されたコラボレーション・テンプレート、およびマップに対してのみ有効です。
|
-xCompileAllCollabs |
リポジトリー内のすべてのコラボレーション・テンプレートをコンパイルします。リリース
4.2 以降を使用して 作成されたテンプレートの場合にのみ有効です。
|
-xCompileAllMaps |
リポジトリー内のすべてのマップをコンパイルします。リリース 4.2
以降を使用して 作成されたマップの場合にのみ有効です。
|
-xCompileCollab:collabTemplateName [+collabTemplateName] |
リポジトリー内の指定のコラボレーション・テンプレートをコンパイルします。リリース
4.2 以降を使用して 作成されたテンプレートの場合にのみ有効です。
|
-xCompileMap:nativeMapName[+nativeMapName] |
リポジトリー内の指定のマップをコンパイルします。リリース 4.2
以降を使用して 作成されたマップの場合にのみ有効です。
|
-xCompilePackage |
このオプションを使用すると、サーバーに配置されたパッケージが自動的にコンパイルされます。実動モードのサーバーではパッケージがすべて自動的にコンパイルされるため、このオプションはデザイン・モードのサーバーにのみ適用されます。InterChange Server モードの詳細については、「システム・インプリメンテーション・ガイド」を参照してください。
|
-xdi |
InterChange Server
モードの詳細については、「システム・インプリメンテーション・ガイド」を参照してください。
|
-xdn |
InterChange Server
モードの詳細については、「システム・インプリメンテーション・ガイド」を参照してください。
|
-xmsp |
このオプションにより、メンバーシップとセキュリティー情報をインポートおよびエクスポートします。これにより、役割とセキュリティー・ポリシーを再作成せずにアップグレードすることができます。InterChange
Server
モードの詳細については、「システム・インプリメンテーション・ガイド」を参照してください。
|
エンティティー・タイプ | キーワード |
---|---|
ビジネス・オブジェクト | BusObj |
コラボレーション・オブジェクト | Collaboration |
コラボレーション・テンプレート | CollabTemplate |
データベース接続プール | ConnectionPool |
コネクター | Connector |
マップ | Map |
関係 | Relationship |
以下のリストに、リリース 4.2 の repos copy で提供されている新しいオプションをすべて示します。
以下の表に、repros_copy 構文から除去された repos copy の引き数を示します。
除去された引き数 | 除去の理由 |
---|---|
[-xCompileUpdated]
[-xCompileUpdatedCollabs] [-xCompileUpdatedMaps] | サーバーがリリース 4.x より前の マップおよびテンプレートをサポートしていないため、コンパイル更新オプションはすべて除去されました。 |
[-xUncompress] | 新しいパッケージ・フォーマットでは、定義がすべて Java アーカイブ (JAR) フォーマットに格納されます。専有の圧縮アルゴリズムは使用されません。そのため、-xUncompress 引き数は不要になりました。 |
[-eProject][-w] | -e オプションのプロジェクト・タイプはサポートされなくなりました。現在、プロジェクトはサーバーによって管理されるのではなく、System Manager によってローカル・ファイルで管理されます。 |
このセクションでは、repos_copy を使用したときによく起こる状況を数多く取り上げて説明します。次のセクションで構成されています。
引き数を指定しないで repos_copy を実行すると、コマンドおよびその引き数をプリントアウトすることができます。次の例は、引き数を指定せずに実行した repos_copy コマンドと、実行結果の出力を示しています。
C:¥>repos_copy No Command line arguments to ReposCopy were specified Usage: repos_copy {-o[outputFile] | -i[inputFile]} [-sserverName] [-uuserName] [-ppassword] [-ai] [-ar] [-arp] [-d] [-k] [-v] [-eentityType:entityName1[+entityType:entityName2] -deep] [-fentityFileName] [-rrelationshipName1[:relationshipName2] ] [-xCompileAll] [-xCompileAllCollabs] [-xCompileAllMaps] [-xCompileCollab:collabTemplateName[+collabTemplateName]] [-xCompileMap:nativeMapName[+nativeMapName]] [-xcompilepackage] [-mode] [-doentityType:entityName1[+entityType:entityName2] -deep] [-dfoentityType:entityName1[+entityType:entityName2] -deep] [-summary] [-vp] [-vr]
コンポーネントのパッケージは、サーバーに配置する前に検証することができます。実働モードのサーバーにパッケージを配置する場合は依存関係をすべて解決する必要があるため、パッケージを検証しておくことはきわめて有効です。依存関係がすべて解決されないと配置は失敗します。System Manager では、ユーザー・プロジェクトまたは統合コンポーネント・ライブラリーを検証しても、依存関係が満たされているかどうかの確認はできません。System Manager でパッケージを配置するときにパッケージが有効であるかどうかを確認するには、配置を試み、依存関係の解決に失敗した場合はエラー情報を使用するしかありません。パッケージ内にコンポーネントが数多く存在する場合、この処理にかなりの時間がかかる場合があります。
統合コンポーネント・ライブラリーの検証はできませんが、このライブラリーをパッケージ・ファイルにエクスポートしてから、repos_copy を使ってパッケージ・ファイルを検証することはできます。
repos_copy を使用してパッケージ・ファイルを検証するには、検証するパッケージ・ファイルの名前を -i オプションで指定します。-vp 引き数を使用して、パッケージ・ファイルの配置ではなく検証を行ってください。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -iWebSphereICS420DEVServer.jar -vp
repos_copy によってパッケージの内容が検証され、依存関係を解消するかどうかを指示するメッセージが表示されます。
-i オプションを使用すると、コンポーネントのパッケージをリポジトリーに配置できます。パッケージ・ファイル名を指定しないと、パッケージ・ファイル名の入力を促すプロンプトが出されます。
次の例は、リポジトリーに配置するファイルが WebSphereICS420DEVServer.jar という名前であることを示しています。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -iWebSphereICS420DEVServer.jar
リポジトリー内に同じ名前のコンポーネントが存在することがよくあるのと同様、パッケージ・ファイルにも同じ名前のコンポーネントが存在することがよくあります。この場合、リポジトリー内のコンポーネントをパッケージ・ファイル内のコンポーネントで置き換えるかどうかを決める必要があります。-ai オプションを使用すると、重複するコンポーネントをリポジトリーにロードしてはならないことが指定されます。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -iCustomer.jar -ai
リポジトリー内の重複するコンポーネントをすべて置き換える場合は、次の例のように -ar オプションを使用します。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -iCustomerSyncInterface.jar -ar
-arp オプションを使用すると、リポジトリー内の重複するコンポーネントを対話式に置き換えることができます。この対話式操作では、重複する個々のコンポーネントごとに コンポーネントの置き換えが必要かどうかを決めることができます。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -iCustomerSyncInterface.jar -arp
実行時にマップおよびコラボレーションを実行するには、リポジトリー内に定義されたマップ、およびコラボレーション・テンプレートをコンパイルする必要があります。実行時に関係を正しく機能させるには、関係のスキーマを作成しておく必要があります。
実動モードで実行されているサーバーにコンポーネントを配置すると、テンプレートがすべて自動的にコンパイルされ、関係スキーマがすべて作成されます。配置を成功させるには、マップおよびコラボレーション・テンプレートのコードが有効でなければなりません。また、関係定義の設定値に指定されたデータベースと InterChange Server がやり取りできることも必要です。
デザイン・モードで実行されているサーバーにコンポーネントを配置した場合、テンプレートは自動的にはコンパイルされませんが、関係スキーマは自動的に作成されます。テンプレートをコンパイルする目的に使用できるオプションが用意されている一方、関係スキーマが作成されないようにするためのオプションも用意されています。
次の例では、-xCompilePackage オプションを使用しています。-r オプションはどのような形式のものも使用していません。この結果、-i オプションで指定されたパッケージが配置されたときに、マップおよびコラボレーション・テンプレートが編集され、関係のスキーマが作成されます。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -iWebSphereICS420DEVServer.jar -xCompilePackage
配置時に関係スキーマが作成されないようにしたい場合もあるでしょう。例えば、ある環境から別の環境にパッケージを配置しようとしている場合でも、新しい環境内でデータベース・リソースを使えるよう関係のプロパティーを変更しておかなかったなら、関連するプロパティーを変更し終えるまではスキーマが作成されないようにしたいでしょう。次の例では、-r* オプションを使用することにより、配置するパッケージの中にあるどの関係に対してもスキーマが作成されないようにしています。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -iWebSphereICS420DEVServer.jar -xCompilePackage -r*
サーバー・インスタンスが実動モードで始動するためには、リポジトリーが有効な状態でなければなりません。この理由は、リポジトリーが有効な状態でないと、最終的にサーバーがフローを処理できないためです。サーバー・リポジトリーを検証するには、以下の例のように -vr オプションを使用します。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -vr
サーバーが有効な場合は、次の出力がコンソールに書き込まれます。
Validation Succeeded.All Dependencies Resolved.
リポジトリーが無効な場合は、解決する必要のある依存関係のリストが出力されます。
マップまたはコラボレーション・テンプレートをリポジトリーに配置しても、配置中にそれらをコンパイルしなかった場合は、後で repos_copy を使用してコンパイルすることができます。この方法は、多数のコンポーネントを配置するといった状況にある場合に有効です。配置に長い時間が費やされるうえ、コンパイルの操作がさらに長びく可能性があるためです。 配置が成功し終えるまで待ってからコンパイル作業を行えば、エラーが発生した場合に、さらに多くの時間を費やして環境を移行する危険性が減ります。
次に、-xCompileAll オプションを使用して、リポジトリー内のマップおよびコラボレーション・テンプレートをすべてコンパイルする例を示します。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -xCompileAll
また、いずれかのタイプのコンポーネントをすべてコンパイルするオプションも用意されています。-xCompileAllCollabs を 使用するとコラボレーション・テンプレートがすべてコンパイルされ、-xCompileAllMaps を使用するとマップがすべてコンパイルされます。下の例は、-xCompileAllMaps の使用法を示しています。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -xCompileAllMaps
1 つのタイプのコンポーネントを一括してコンパイルできるのと同様、コンポーネントを個別にコンパイルすることもできます。1 つのコンポーネントをコンパイルするには、-xCompileCollab オプションまたは -xCompileMap オプションを使用し、その後ろにコロンを付け、さらにコラボレーション・テンプレートまたはマップの名前を続けます。下の例では、CustomerSync という名前のコラボレーション・テンプレートがコンパイルされます。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -xCompileCollab:CustomerSync
repos_copy には、リポジトリーからコンポーネントを削除するためのオプションがいくつか提供されています。リポジトリー全体、および個々のコンポーネントを削除できるだけでなく、個々のコンポーネントとそのコンポーネントを参照する任意のコンポーネントを削除することもできます。
リポジトリー内のコンポーネントをすべて削除するには、-d オプションを使用します。以下の例に、構文を示します。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -d
repos_copy は、リポジトリー全体を削除したいかどうかを尋ねるプロンプトを表示します。
あるコンポーネントが指示対象 (そのコンポーネントを参照していて、その参照先コンポーネントが存在しないとシステム内で自らの機能を実行できない他のコンポーネント) を持たない場合、ユーザーは個々のコンポーネントを削除することができます。
-do オプションを使用して、その後ろにエンティティー・タイプ、コロン、およびコンポーネントの名前を続けます。エンティティー・タイプは、表 21にリストされています。次の例のように入力すると、Customer という名前の関係が削除されます。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -doRelationship:Customer
あるコンポーネントが指示対象 (そのコンポーネントを参照していて、その参照先コンポーネントが存在しないとシステム内で自らの機能を実行できない他のコンポーネント) を持っている場合、サーバーがデザイン・モードで実行されているという条件を満たし、しかも所定のオプションを使用するという手段によってのみ、ユーザーがそのコンポーネントを削除することができます。
コンポーネントが指示対象を持つ場合、-do オプションを使用しても repos_copy ではそのコンポーネントの削除はできません。指示対象を持つコンポーネントを強制削除するには、-dfo オプションを使用する必要があります。 指示対象を持つコンポーネントを強制削除すると、リポジトリーが不整合な状態のままになります。そうしたリポジトリーの不整合は実動モードで実行されているサーバーでは許容されないという理由から、このオプションはデザイン・モードのサーバーでのみ有効となっています。以下の例は、Order ビジネス・オブジェクトがシステム内の他のコンポーネント (例えばマップや関係) の参照先となっているという事実にもかかわらず、-dfo オプションを使えばこの Order ビジネス・オブジェクトを削除できることを示しています。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -dfoBusObj:Order
指示対象を持つコンポーネントを削除するもう 1 つの方法は、-deep オプションを使用して指示対象も一緒に削除する方法です。この方法では、コンポーネントと、そのコンポーネントへの参照を持つすべてのコンポーネントが削除されます。以下の例は、-do オプションを使用して Customer ビジネス・オブジェクトを削除するときの -deep オプションの使い方を示しています。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -doBusObj:Customer -deep
このオプションは、-dfo オプションとは異なり、実動モードで稼働しているサーバーでサポートされています。コンポーネントと一緒に指示対象を削除してもリポジトリーが有効なままであることが保証されているためです。ただし、-deep オプションを使用した場合は多数のコンポーネントが削除されるので、この点を念頭に置いてください。この操作の意義を認識したうえで、処置をとる必要があります。
-o オプションを使用すると、リポジトリーからパッケージにコンポーネントをエクスポートできます。パッケージ・ファイル名の指定は必須です。以下の例のように -o オプションを単独で使用すると、リポジトリー全体がファイルにエクスポートされます。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -oWebSphereICS420DEVServer.jar
エクスポートするコンポーネントを個別指定するには、-e オプションを使用します。-e オプションは、表 21 のリストにある適切な EntityType キーワードと一緒に使用する必要があります。また、キーワードの後ろにコンポーネントの名前を続ける必要があります。 プラス (+) 記号を付けてコンポーネントどうしを連結することで、複数のコンポーネントを指定することができます。次の例では、Customer ビジネス・オブジェクトおよび CustomerSync コラボレーション・テンプレートを CustomerSyncInterface.jar という名前のパッケージがエクスポートされます。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -eBusObj:Customer+CollabTemplate:CustomerSync -oCustomerSyncInterface.jar
-deep オプションを使用すれば、コンポーネントの依存関係も一緒にエクスポートすることができます。前の例では、Customer ビジネス・オブジェクトをエクスポートしましたが、その子ビジネス・オブジェクトはエクスポートの対象にしませんでした。次の例では、-deep オプションを使用することで、CustomerSync_ClarifyToSAP コラボレーション・オブジェクトおよびそのすべての依存関係をエクスポートしています。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -eCollaboration:CustomerSync_ClarifyToSAP -oCustomerSyncInterface.jar -deep
特定のコンポーネントをエクスポートする一方、エンティティー・タイプのキーワード、およびコンポーネント名をエクスポートしたくない場合は、エクスポート対象のコンポーネントをテキスト・ファイルに保存して、-f オプションを使用してください。この方法は、同じコンポーネントを頻繁にエクスポートしたい場合にきわめて有効です。次の例では、-f オプションを使用することで、Components.txt という名前のテキスト・ファイルにリストされたコンポーネントをロードしています。
C:¥WebSphereICS420DEV>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -fComponents.txt -oCustomerSyncInterface.jar -deep
ファイル Components.txt の内容は以下に示すように、パラグラフ・リターンの後ろに各エンティティー・タイプのキーワードと名前の組み合わせが続きます。
BusObj:Customer Relationship:Customer CollabTemplate:CustomerSync
repos_copy を実行してリポジトリー内のコンポーネントのリストを出力する場合には、-summary 引き数を使用してください。出力は XML 形式で表されます。 コマンド行に表示すると特に便利であるというわけではありませんが、-summary 引き数と -o 引き数を組み合わせて使用することで、出力をファイルにリダイレクトして、そのファイルをブラウザーまたは XML エディターで表示することができます。この場合、コマンドの使用法は以下のようになります。
C:¥>repos_copy -sWebSphereICS420DEVServer -uadmin -pnull -summary -oRepository.xml
repos_copy ユーティリティーは、リポジトリーからメタデータを読み取って、それをユニコード (UTF-8 フォーマット) のファイルに出力します。repos_copy ユーティリティーはさらに、これらのファイルを読み取ってユニコードのリポジトリー (下層のリポジトリー・データベースに応じて UTF-8 または UCS-2) にロードします。
IBM WebSphere InterChange Server 4.1.1 以前のバージョン・レベルで作成された repos_copy ファイルは、コンポーネント・スケジュールの日付と時刻が完全な米国フォーマットである場合のみ、リポジトリーに正しくロードされます。(このことは通常は問題にはなりません。repos_copy ファイルはすべてのスケジュール日付を完全な米国フォーマットで保存します。一般に非互換性の発生する可能性があるのは、repos_copy ファイルが手動で編集された場合です。)