Ant スクリプトを使用して J2C コンポーネントを起動できます。これらの Ant スクリプトはワークベンチからもコマンド行からも呼び出すことができます。
J2C ウィザードを使用すれば、選択内容および入力値を取得して、Ant 構成ファイルを素早く作成できます。Ant 構成ファイルは本質的に XML ファイルであるため、 手作業で全体を変更またはビルドすることができます。
Ant 構成ファイルは、さまざまなタスクが実行されるターゲット・ツリーから構成されています。 ターゲット内のタスクは、パイプライン方法で処理されます。 各タスクは、特定のタスク・インターフェースを実装するオブジェクトによって実行されます。 Ant 構成ファイルが呼び出されると、各タスクに対応したプロパティーが実装しているタスク・オブジェクトにロードされます。 情報がロードされると、タスク・オブジェクトが呼び出されます。
データ・ディスカバリー・タスク
<adapter:discover> <adapter:performImport agent="{com/ibm/adapter}CobolDiscoveryAgent"> <adapter:importResource> <adapter:propertyGroup name="CobolFileGroup"> <adapter:propertyElement name="CobolFile" value="/${project}/taderc99.ccp"/> </adapter:propertyGroup> </adapter:importResource> <adapter:queryProperties> <adapter:propertyGroup name="ImportProperties"> <adapter:propertyElement name="Platform" value="Win32"/> </adapter:propertyGroup> </adapter:queryProperties> <adapter:queryResult> <adapter:selectElement name="DFHCOMMAREA"/> </adapter:queryResult> </adapter:performImport> <adapter:writeToWorkspace writer="{com/ibm/adapter/cobol/writer}JAVA_WRITER"> <adapter:propertyGroup name="COBOLToJavaResourceWriter"> <adapter:propertyElement name="GenerationStyle" value="0"/> <adapter:propertyGroup name="Java Type Name"> <adapter:propertyElement name="Overwrite existing class" value="true"/> <adapter:propertyElement name="Project Name" value="${project}"/> <adapter:propertyElement name="Package Name" value="com.ibm.test"/> <adapter:propertyElement name="Class Name" value="Taderc99"/> </adapter:propertyGroup> </adapter:propertyGroup> </adapter:writeToWorkspace> </adapter:discover>
<?xml version="1.0" encoding="UTF-8" ?> <project xmlns:adapter="http://com.ibm.adapter" default="DataBinding1" name="/Taderc99/CustomerInfo.xml"> <property name="debug" value="true" /> <property name="project1" value="Taderc99" /> <target name="DataBinding1"> <adapter:createProject projectName="${project1}" projectType="Java" /> <adapter:discover> <adapter:performImport agent="{com/ibm/adapter}CobolDiscoveryAgent"> <adapter:importResource> <adapter:propertyGroup name="CobolFileGroup"> <adapter:propertyElement name="CobolFile" value="C:¥Samples¥CICS¥taderc99¥taderc99.cbl" /> </adapter:propertyGroup> </adapter:importResource> <adapter:queryProperties> <adapter:propertyGroup name="ImportProperties"> <adapter:propertyElement name="Platform" value="Win32" /> <adapter:propertyElement name="Codepage" value="ISO-8859-1" /> <adapter:propertyElement name="Numproc" value="PFD" /> <adapter:propertyElement name="FloatingPointFormat" value="IEEE 754" /> <adapter:propertyGroup name="ExternalDecimalSignGroup"> <adapter:propertyElement name="ExternalDecimalSign" value="ASCII" /> </adapter:propertyGroup> <adapter:propertyGroup name="EndianGroup"> <adapter:propertyElement name="Endian" value="Little" /> <adapter:propertyElement name="RemoteEndian" value="Little" /> </adapter:propertyGroup> <adapter:propertyGroup name="CompileOptions"> <adapter:propertyElement name="Quote" value="DOUBLE" /> <adapter:propertyElement name="Trunc" value="STD" /> <adapter:propertyElement name="Nsymbol" value="DBCS" /> </adapter:propertyGroup> </adapter:propertyGroup> </adapter:queryProperties> <adapter:queryResult> <adapter:selectElement name="DFHCOMMAREA" /> </adapter:queryResult> </adapter:performImport> <adapter:writeToWorkspace writer="{com/ibm/adapter/cobol/writer}JAVA_WRITER"> <adapter:propertyGroup name="COBOLToJavaResourceWriter"> <adapter:propertyElement name="GenerationStyle" value="Default" /> <adapter:propertyGroup name="Java Type Name"> <adapter:propertyElement name="Project Name" value="${project1}" /> <adapter:propertyElement name="Package Name" value="sample.cics" /> <adapter:propertyElement name="Class Name" value="CustomerInfo" /> <adapter:propertyElement name="Overwrite existing class" value="true" /> </adapter:propertyGroup> </adapter:propertyGroup> </adapter:writeToWorkspace> </adapter:discover> <eclipse.refreshLocal depth="infinite" resource="${project1}" /> <eclipse.incrementalBuild project="${project1}" /> </target> </project>
サービス生成タスク
言語インポート (COBOL、C、および PL/1) の特殊な場合 には、インターフェース・バインディング生成に関連する追加ステップがあります。以下の例は、 J2C Bean 生成に使用される Ant スクリプトのデータ・ディスカバリー・セクションを示します。
<j2c:generateService> <j2c:buildService package="com.ibm.test" class="Taderc99Interface"> <j2c:method> <j2c:methodName value="gettaderc99"/> <j2c:methodInput value="${project}/com/ibm/test/Taderc99.java"> <j2c:argumentBinding property="commareaLength" propertyType="InteractionSpec" name="length" type="int"/> </j2c:methodInput> <j2c:methodOutput value="${project}/com/ibm/test/Taderc99.java"/> <j2c:interactionSpec class="com.ibm.connector2.cics.ECIInteractionSpec"> <adapter:propertyGroup name="InteractionSpec property group"> <adapter:propertyElement name="functionName" value="TADERC99"/> </adapter:propertyGroup> </j2c:interactionSpec> </j2c:method> <j2c:managedConnectionFactory class="com.ibm.connector2.cics.ECIManagedConnectionFactory" target="myJNDIName"> <adapter:propertyGroup name="Managed connection property group"> <adapter:propertyGroup name="Server"> <adapter:propertyElement name="ConnectionURL" value="rubicon.torolab.ibm.com"/> <adapter:propertyElement name="ServerName" value="rubicon"/> </adapter:propertyGroup> <adapter:propertyGroup name="UserVerification"> <adapter:propertyElement name="UserName" value="sysad"/> <adapter:propertyElement name="Password" value="sysad"/> </adapter:propertyGroup> </adapter:propertyGroup> </j2c:managedConnectionFactory> <j2c:connectionSpec class="com.ibm.connector2.cics.ECIConnectionSpec"/> <j2c:resourceAdapter project="CICS ECI"/> </j2c:buildService> <adapter:writeToWorkspace writer="com/ibm/adapter/j2c/codegen:J2CAnnotationWriter"> <adapter:propertyGroup name="J2C Writer Properties"> <adapter:propertyElement name="Project" value="${project}"/> <adapter:propertyElement name="InterfaceName" value="Taderc99Interface"/> <adapter:propertyElement name="BindingName" value="Taderc99Binding"/> <adapter:propertyElement name="PackageName" value="com.ibm.test"/> <adapter:propertyGroup name="CommandBean"> <adapter:propertyGroup name="gettaderc99"> <adapter:propertyElement name="EnableGenerate" value="true"/> <adapter:propertyElement name="CommandBeanName" value="Taderc99CICSECIServiceProxy"/> <adapter:propertyElement name="Input" value="Taderc99Part"/> <adapter:propertyElement name="Output" value="Taderc99Part"/> </adapter:propertyGroup> </adapter:propertyGroup> </adapter:propertyGroup> </adapter:writeToWorkspace> </j2c:generateService>
追加タスク
以下のユーティリティー・タスクは役に立ちますが、成果物の生成に必須ではありません。
<adapter:createProject projectName="taderc99Project" projectType="Web" runtimeName="J2EE Runtime Library" addToEAR="yes" EARProjectName="TestEAR"/>ここで、
<j2c:importResourceAdapter connectorModule="cicseci602" connectorFile="D:¥IBM¥SDP70¥ResourceAdapters¥cics15¥cicseci602.rar" targetRuntime="J2EE Runtime Library" addToEAR="yes" EARProjectName="TestEAR"/>
プロパティーの定義
ディスカバリー・エージェントおよびワークスペース書き込み機能は、 一意的に識別される名前 (QName) で参照されます。 すべての登録済みディスカバリー・エージェント、ワークスペース・リソース書き込み機能、およびインポート構成 を検索するには、サンプル・ディレクトリーにある displayAll.xml スクリプトを使用してください。
スクリプトの例で見たように、ディスカバリー・エージェントま たはリソース書き込み機能に渡される値は、propertyGroup および propertyElement タグで定義されます。プロパティー・グループは、ネスト構造 を介して、プロパティーの論理的なグループ化を定義します。 構造レイアウトと、包含されているグループ名およびプロパティー名については、 ディスカバリー・エージェントまたはリソース書き込み機能の資料を参照してください。
プロパティーは 、name 属性と value 属性のペアによって定義されます。名前は実際には、 ディスカバリー・エージェントまたはリソース書き込み機能によって内部的に定義されたプロパティーであり、 値を渡すために使用されます。正しい名前を使用することが重要です。 名前がコンポーネントによって認識されないと、値は設定されません。