内容は次のとおりです。
Mavenを使用したOracle SOA Suite開発プラグインの使用の詳細は、Oracle SOA SuiteでのSOAアプリケーションの開発で、Oracle SOA Suite開発Mavenプラグインの使用に関する項を参照してください。
Oracle Fusion Middlewareでは、Oracle SOA SuiteおよびOracle Business Process Management用に、1つのMavenプラグインおよび2つの原型が提供されています。
表13-1に、Maven座標を示します。
表13-1 Oracle SOA SuiteでのMaven座標
アーティファクト | groupId | artifactId | version |
---|---|---|---|
SOAプラグイン |
com.oracle.soa.plugin |
oracle-soa-plugin |
12.2.1-0-0 |
SOAアプリケーション原型 |
com.oracle.soa.archetype |
oracle-soa-application |
12.2.1-0-0 |
SOAプロジェクト原型 |
com.oracle.soa.archetype |
oracle-soa-project |
12.2.1-0-0 |
表13-2に、Oracle SOA Suiteプラグインでサポートされているゴールを示します。
表13-2 Oracle SOA Suiteプラグイン・ゴール
ゴール | 目的 |
---|---|
compile |
プロジェクトでSCAコンポジット検証ルーチンを実行します---これは、ソース・アーティファクトを検査し、エラーおよび警告を生成する点で従来のコンパイル操作に相当します。ただし、ソース・アーティファクトのコンパイルされたバージョンは生成しません。 |
sar |
プロジェクトからSOAアーカイブ(SAR)ファイルを作成します。 |
deploy |
ランタイム環境へSARファイルをデプロイします。Mavenでは、ランタイム環境へのデプロイメントは通常pre-integration-testフェーズで行われるため、このゴールはdeployフェーズではなく、デフォルト・ライフサイクルのpre-integration-testフェーズにマップされていることに注意してください。 |
テスト |
コンポジットでSCAテストを実行します。ランタイム環境にデプロイメントされているコンポジット(SAR)によるため、このゴールは、testフェーズではなく、integration-testフェーズにマップされていることに注意してください。 |
undeploy |
ランタイム環境からコンポジット(SAR)をアンデプロイします。このゴールはデフォルトMavenライフサイクルのどのフェーズにもマップされていないことに注意してください。 |
SOAアプリケーション原型では、単一のSOAプロジェクトを含む新規SOAアプリケーションを作成できます。これは編集するためにJDeveloperにインポートできます。
SOAプロジェクト原型では、既存SOAアプリケーションに新規SOAプロジェクトを追加できます。
SOA Maven原型を使用して、新しいSOAアプリケーション(1つのSOAプロジェクトを含む)を作成できます。
そのためには、次のようなコマンドを入力します。
mvn archetype:generate -DarchetypeGroupId=com.oracle.soa.archetype -DarchetypeArtifactId=oracle-soa-application -DarchetypeVersion=12.2.1-0-0 -DgroupId=org.mycompany -DartifactId=my-soa-app -Dversion=1.0-SNAPSHOT -DprojectName=my-project
このコマンドにより、原型から新規SOAアプリケーションを作成できるようにする、Mavenのarchetype:generateゴールが実行されます。表13-3に、パラメータを示します。
表13-3 Oracle SOA Suiteアプリケーションのパラメータ
Parameter | 目的 |
---|---|
archetypeGroupId |
新規SOAアプリケーションの作成に使用する原型のgroupId。これは、前の例に示したように、 |
archetypeArtifactId |
新規SOAアプリケーションの作成に使用する原型のartifactId。これは、前の例に示したように、 |
archetypeVersion |
新規SOAアプリケーションの作成に使用する原型のバージョン。これは、前の例に示したように、 |
groupId |
新規SOAアプリケーションのgroupId。通常、これは組織のドメイン名を逆にした形式で始まります。 |
artifactId |
新規SOAアプリケーションのartifactId。通常、これはSOAアプリケーションの識別子です。 |
version |
新規SOAアプリケーションのversion。新規プロジェクトの場合、これは通常 |
projectName |
新規SOAアプリケーション内のSOAプロジェクトの名前。SOAアプリケーション( |
また、次の例に示すように、引数なしでコマンドを実行することもできます。この場合、Mavenでは、使用可能な原型のリストが表示され、必要な情報の入力を求められます。
mvn archetype:generate
前述の例に示しているようにアプリケーションの名前をmy-soa-appおよびプロジェクトの名前をmy-projectと付けたと想定した場合、アプリケーションの作成後、アプリケーションには次のファイルが含まれます。
生成されたプロジェクトにはファイルおよび多数の空ディレクトリが含まれます。表13-4に、ファイルの説明を示します。
表13-4 Oracle SOA Suiteアプリケーションおよびプロジェクト用に作成されたファイル
ファイル | 目的 |
---|---|
pom.xml |
新規アプリケーションについて記述するMavenプロジェクト・オブジェクト・モデル(POM)ファイル。アプリケーションに指定したMaven座標およびアプリケーション内のSOAプロジェクトへの参照が含まれます。 |
PROJECT/pom.xml |
新規プロジェクトについて記述するMaven POMファイル。プロジェクトに指定したMaven座標が含まれ、SOA Mavenプラグインを使用してSARファイルにプロジェクトをビルドするための適切なプラグイン定義も含まれます。 |
PROJECT/composite.xml |
コンポジット・メタデータ。 |
.adf/META-INF/adf-config.xml |
コンポジットのビルドに必要となる場合があるMDSリポジトリの定義。 |
その他 |
それ以外は任意の新規コンポジットに作成される標準ファイルです。これらは、JDeveloperで作成された新規SOAアプリケーションおよび新規SOAプロジェクトにあるファイルと同じファイルです。 |
SOA Maven原型を使用して、新しいSOAプロジェクトを(既存のSOAアプリケーションに)作成できます。
そのためには、SOAアプリケーションのディレクトリで、次のようなコマンドを実行します。
mvn archetype:generate -DarchetypeGroupId=com.oracle.soa.archetype -DarchetypeArtifactId=oracle-soa-project -DarchetypeVersion=12.2.1-0-0 -DgroupId=org.mycompany -DartifactId=my-second-project -Dversion=1.0-SNAPSHOT
このコマンドにより、原型から新規SOAプロジェクトを作成できるようにする、Mavenのarchetype:generateゴールが実行されます。表13-5に、パラメータを示します。
表13-5 Oracle SOA Suiteプロジェクトのパラメータ
Parameter | 目的 |
---|---|
archetypeGroupId |
新規SOAアプリケーションの作成に使用する原型のgroupId。これは、前の例に示したように、 |
archetypeArtifactId |
新規SOAアプリケーションの作成に使用する原型のartifactId。これは、前の例に示したように、 |
archetypeVersion |
新規SOAアプリケーションの作成に使用する原型のバージョン。これは、前の例に示したように、 |
groupId |
新規SOAプロジェクト用のgroupId。通常、これは組織のドメイン名を逆にした形式で始まります。 |
artifactId |
新規SOAプロジェクト用のartifactId。通常、これはSOAプロジェクトの識別子です。 |
version |
新規SOAプロジェクト用のversion。新規プロジェクトの場合、これは通常 |
また、次の例に示すように、引数なしでコマンドを実行することもできます。この場合、Mavenでは、使用可能な原型のリストが表示され、必要な情報の入力を求められます。
mvn archetype:generate
プロジェクトの名前をmy-second-projectと付けたと想定した場合、新規プロジェクトの作成後、プロジェクトには次のファイルが含まれます。
生成されたプロジェクトにはファイルおよび多数の空ディレクトリが含まれます。表13-4に、ファイルの説明を示します。
mvn generate
コマンドも、新規プロジェクトに追加するためにSOAアプリケーションPOMを更新します。たとえば、Maven原型からの新規SOAアプリケーションおよびプロジェクトの作成でアプリケーションにこのプロジェクトを作成した場合、SOAアプリケーションPOMに次のリストが表示されます。
<modules> <module>my-project</module> <module>my-second-project</module> </modules>
このように(Mavenのmulti-moduleプロジェクト)、複数のSOAプロジェクトを含むSOAアプリケーションがある場合、MavenはSOAアプリケーションPOMにリストされている順に1つずつプロジェクトをビルドします。
Oracle JDeveloperでSOAアプリケーションを編集して、SOAコンポジットを構成できます。
アプリケーションを編集するには、Oracle JDeveloperでアプリケーションを開き、アプリケーションを編集します。
これでJDeveloperでプロジェクトが開きました。
これらのプロジェクトをビルドするには、MDSリポジトリへのアクセス権のあるビルドを提供する必要があります。これは、ファイル・ベースまたはデータベース・ベースのいずれのMDSリポジトリでもかまいません。
MDSリポジトリ接続詳細はSOAアプリケーションの
/.adf/META-INF/adf-config.xml
ファイルで指定されています。これはMDSへのアクセスを要求するすべてのSOAプロジェクトが、SOAアプリケーション内に配置されている必要があることを意味します。
SOA Mavenアプリケーション原型を使用して、またはJDeveloperを使用して新規プロジェクトを作成する場合、adf-config.xmlには次のデフォルトMDSリポジトリ構成が含まれます。
<metadata-store-usages> <metadata-store-usage id="mstore-usage_1"> <metadata-store class-name="oracle.mds.persistence.stores.file.FileMetadataStore"> <property name="metadata-path" value="${oracleHome}/integration"/> <property name="partition-name" value="seed"/> </metadata-store> </metadata-store-usage> </metadata-store-usages>
この例は、${oracleHome}/integration
の場所にファイル・ベースのMDSリポジトリを定義します。このビルドをMavenで実行する場合、oracleHome
変数が定義されていない可能性があります。その場合、次の例に示すようにMavenコマンドラインで指定する必要があります。
mvn compile -DoracleHome=MW_HOME/soa -DappHome=dir_for_application_for_proj
oracleHome
の変数は、SOA QuickstartまたはJDeveloperをインストールしたOracleホームにあるSOAディレクトリを指すことに注意してください。ディレクトリにはseedMDSリポジトリが含まれます。
adf-config.xmlファイルを更新して、使用するMDSリポジトリへのフル・パスを指定することもできます。
データベース・ベースのMDSリポジトリを使用する場合、次の例に示すようにJDBC値を指定するように構成を変更します。
<metadata-store-usage id="mstore-usage_1"> <metadata-store class-name="oracle.mds.persistence.stores.db.DBMetadataStore"> <property name="jdbc-userid" value="your_prefix_mds"/> <property name="jdbc-password" value="welcome1"/> <property name="jdbc-url" value="jdbc:oracle:thin://@database.server:1521/service_name"/> <property name="partition-name" value="soa-infra"/> </metadata-store> </metadata-store-usage>
Mavenを使用してSOAプロジェクトをSOAサーバーにデプロイするには、SARファイルをデプロイして、プロジェクトのPOMを編集します。
SARファイルをデプロイするには、次のコマンドを実行します。
mvn pre-integration-test
表13-6では、デプロイメント用に指定できるパラメータについて説明します。これらは、プロジェクト用にPOMファイル内で指定するか、またはコマンドラインで指定することもできます。
表13-6 SOAプロジェクトをデプロイするためのパラメータ
Parameter | 目的 |
---|---|
serverURL |
SOAドメインの管理サーバーのURL。 |
sarLocation |
SARファイルの場所。 |
overwrite |
デプロイメントが同じバージョンの既存のコンポジットを上書きすべきかどうか。 |
configplan |
(オプション)使用するSOA構成プラン(ある場合)の名前。 |
forceDefault |
デプロイメントがこのリビジョンをデフォルト・リビジョンにすべきかどうか。 |
regenerateRuleBase |
基本ルール・ディクショナリを再生成すべきかどうか。 |
composite.partition |
コンポジットがデプロイされるSOAパーティション。 |
user |
デプロイメントに使用するユーザー名。 |
password |
デプロイメントに使用するパスワード。 |
パラメータを指定する手順:
コマンドラインで、例に示しているように-Dパラメータ=値の形式を使用します(コマンド全体を1行で入力するように注意してください)。
mvn pre-integration-test -DserverURL=http://test.server:7001 -DsarLocation=deploy/sca_my-project_rev1.0.sar -Doverwrite=true -DforceDefault=true -Dcomposite.partition=test -Duser=weblogic -Dpassword=welcome1
プロジェクトPOMファイルで、プロジェクトPOMのパラメータ・セクションにすでに指定されているデフォルトに対して置換値を指定します。
<properties> <!-- these parameters are used by the compile goal --> <scac.input.dir>${project.basedir}/SOA/</scac.input.dir> <scac.output.dir>${project.basedir}/target</scac.output.dir> <scac.input>${scac.input.dir}/composite.xml</scac.input> <scac.output>${scac.output.dir}/out.xml</scac.output> <scac.error>${scac.output.dir}/error.txt</scac.error> <scac.displayLevel>1</scac.displayLevel> <!-- if you are using a config plan, uncomment the following line and update to point to your config plan --> <!--<configplan>${scac.input.dir}/configplan.xml</configplan>--> <!-- these parameters are used by the deploy and undeploy goals --> <composite.name>${project.artifactId}</composite.name> <composite.revision>1.0</composite.revision> <composite.partition>default</composite.partition> <serverUrl>${oracleServerUrl}</serverUrl> <user>${oracleUsername}</user> <password>${oraclePassword}</password> <overwrite>true</overwrite> <forceDefault>true</forceDefault> <regenerateRulebase>false</regenerateRulebase> <keepInstancesOnRedeploy>false</keepInstancesOnRedeploy> <!-- these parameters are used by the test goal --> <!-- if you are using the sca-test (test) goal, you need to uncomment the following line and point it to your jndi.properties file. --> <!--<jndi.properties.input>${basedir}/jndi.properties</jndi.properties.input>--> <scatest.result>${scac.output.dir}/testResult</scatest.result> <!-- input is the name of the composite to run test suites against --> <input>project12</input> </properties>
WebLogicコンソールを通じてこのようなリソースを手動で作成できる可能性があるため、自動ビルド環境では適切ではありません。この問題に対処するには、ビルドの一部としてWLSTスクリプトを作成および実行することで、必要なすべてのリソースがランタイム環境で作成および構成できることを保証できます。weblogic
-maven-plugin:wlst
ゴールを使用して、ビルドの適切なタイミングでWLSTスクリプトを実行することもできます。
データ・ソースを作成するWLSTスクリプトの例を次に示します。misc/create-datasource.py
としてプロジェクトに追加することもできます。
# Copyright 2012, 2014 Oracle Corporation. # All Rights Reserved. # # Provided on an 'as is' basis, without warranties or conditions of any kind, # either express or implied, including, without limitation, any warranties or # conditions of title, non-infringement, merchantability, or fitness for a # particular purpose. You are solely responsible for determining the # appropriateness of using and assume any risks. You may not redistribute. # # This WLST script can be used as part of a continuous integration build process # before deploying a SCA composite, to create any necessary Java EE data sources # on the WebLogic Server. # # In addition to creating the data source, this script will also update the # resource adapter and redeploy it. import time # # These are the parameters that you need to edit before running this script # # admin server url url = 't3://localhost:7001' # username to connect to the admin server username = 'weblogic' # password to connect to the admin server password = 'mypassword' # the name for the EIS - as defined in the DB Adapter wizard in JDEV eisName = 'eis/db/myDS' # the admin or managed server to target where the DbAdapter is deployed serverName = 'soa_server1' # the name for the data source dsName = 'myDS' # the JNDI name for the data source jndiName = 'jbdc/myDS' # the database url for the data source dbUrl = 'jdbc:oracle:thin:@localhost:1521:orcl' # the database user dbUser = 'mark' # the database password dbPassword = 'mypassword' # the database driver to use dbDriver = 'oracle.jdbc.xa.client.OracleXADataSource' # the host where node manager is running nmHost = 'localhost' # the port to connect to node manager (5556 is default for plain mode) nmPort = '5556' # the user to connect to node manager nmUser = 'weblogic' # the password to connection to node manager nmPassword = 'mypassword' # the name of the weblogic domain domain = 'base_domain' # don't change these ones uniqueString = '' appName = 'DbAdapter' moduleOverrideName = appName+'.rar' moduleDescriptorName = 'META-INF/weblogic-ra.xml' # # method definitions # def makeDeploymentPlanVariable(wlstPlan, name, value, xpath, origin='planbased'): """Create a variable in the Plan. This method is used to create the variables that are needed in the Plan in order to add an entry for the outbound connection pool for the new data source. """ try: variableAssignment = wlstPlan.createVariableAssignment(name, moduleOverrideName, moduleDescriptorName) variableAssignment.setXpath(xpath) variableAssignment.setOrigin(origin) wlstPlan.createVariable(name, value) except: print('--> was not able to create deployment plan variables successfully') def main(): print ' Copyright 2012, 2014 Oracle Corporation. ' print ' All Rights Reserved. ' print '' print ' Provided on an ''as is'' basis, without warranties or conditions of any kind, ' print ' either express or implied, including, without limitation, any warranties or ' print ' conditions of title, non-infringement, merchantability, or fitness for a ' print ' particular purpose. You are solely responsible for determining the ' print ' appropriateness of using and assume any risks. You may not redistribute.' print '' print ' This WLST script can be used as part of a continuous integration build process' print ' before deploying a SCA composite, to create any necessary Java EE data sources' print ' on the WebLogic Server.' print '' print ' In addition to creating the data source, this script will also update the ' print ' resource adapter and redeploy it.' print '' print ' !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!!' print '' print ' This script will make changes to your WebLogic domain. Make sure you know ' print ' what you are doing. There is no support for this script. If something bad ' print ' happens, you are on your own! You have been warned.' # # generate a unique string to use in the names # uniqueString = str(int(time.time())) # # Create a JDBC Data Source. # try: print('--> about to connect to weblogic') connect(username, password, url) print('--> about to create a data source ' + dsName) edit() startEdit() cmo.createJDBCSystemResource(dsName) cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName) cmo.setName(dsName) cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDataSourceParams/' + dsName) set('JNDINames',jarray.array([String(jndiName)], String)) cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName) cmo.setUrl(dbUrl) cmo.setDriverName(dbDriver) cmo.setPassword(dbPassword) cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCConnectionPoolParams/' + dsName) cmo.setTestTableName('DUAL') cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName) cmo.createProperty('user') cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName + '/Properties/user') cmo.setValue(dbUser) cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDataSourceParams/' + dsName) cmo.setGlobalTransactionsProtocol('TwoPhaseCommit') cd('/JDBCSystemResources/' + dsName) set('Targets',jarray.array([ObjectName('com.bea:Name=' + serverName + ',Type=Server')], ObjectName)) save() print('--> activating changes') activate() print('--> done') # # update the deployment plan # print('--> about to update the deployment plan for the DbAdapter') startEdit() planPath = get('/AppDeployments/DbAdapter/PlanPath') appPath = get('/AppDeployments/DbAdapter/SourcePath') print('--> Using plan ' + planPath) plan = loadApplication(appPath, planPath) print('--> adding variables to plan') makeDeploymentPlanVariable(plan, 'ConnectionInstance_eis/DB/' + dsName + '_JNDIName_' + uniqueString, eisName, '/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="' + eisName + '"]/jndi-name') makeDeploymentPlanVariable(plan, 'ConfigProperty_xADataSourceName_Value_' + uniqueString, eisName, '/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="' + eisName + '"]/connection-properties/properties/property/[name="xADataSourceName"]/value') print('--> saving plan') plan.save(); save(); print('--> activating changes') activate(block='true'); cd('/AppDeployments/DbAdapter/Targets'); print('--> redeploying the DbAdapter') redeploy(appName, planPath, targets=cmo.getTargets()); print('--> done') except: print('--> something went wrong, bailing out') stopEdit('y') raise SystemExit # # disconnect from the admin server # print('--> disconnecting from admin server now') disconnect() # # this is the main entry point main()
ビルドのpre-integration-test
フェーズにおいてこのスクリプトを実行するには、SOAプロジェクトPOMに次のようなplugin
セクションを含めます。
<plugin> <groupId>com.oracle.weblogic</groupId> <artifactId>weblogic-maven-plugin</artifactId> <version>12.2.1-0-0</version> <executions> <execution> <id>wlst-create-datasource</id> <phase>pre-integration-test</phase> <goals> <goal>wlst</goal> </goals> <configuration> <middlewareHome>c:/wls1212</middlewareHome> <fileName>${project.basedir}/misc/create-datasource.py</fileName> </configuration> </execution> </executions> </plugin>
JDeveloperでSOAアプリケーションにADFヒューマン・タスク・ユーザー・インタフェース・プロジェクトを追加すると、アプリケーション・レベルPOMが更新されてモジュールとして新規ADFプロジェクトが追加され、<build>セクションにいくつかの<plugin>定義が追加されてADFプロジェクトがビルドされます。
ADFヒューマン・タスク・プロジェクトを作成すると、JDeveloperのプロジェクト用にいくつかのJDeveloperライブラリがビルド・パスに追加されます。また、JDeveloperはローカルMavenリポジトリにあるそれらのライブラリに一致するPOMがあるかどうかを確認します。ない場合、それらのPOMを作成します。これらの新規ライブラリPOMは(必要に応じて)MavenのgroupId = com.oracle.adf.library
を使用して作成されます。
JDeveloperによって使用されるMavenリポジトリはTools/Preferences/Maven/Repository
によって指定することができることに注意してください。$HOME/.m2
にあるデフォルト・リポジトリではない場合があります。
次の点に注意してください。
このようなADFヒューマン・タスク・プロジェクトを、他のMavenリポジトリ(ローカルまたはリモート)を使用している別のマシン(たとえば、ビルド・サーバー)でビルドする場合、これらの新規POMをそのMavenリポジトリにコピーします。
ADFプロジェクトをEARファイルにパッケージするために使用されるojdeploy Mavenプラグインは、JDeveloperのOracleホームが存在することに依存するため、ADFヒューマン・タスク・プロジェクトをビルドするサーバーはJDeveloperインストールに対するアクセス権が必要です。
EARファイルをアプリケーション・ビルドの一部としてデプロイする場合、ビルドの適切なフェーズ(pre-integration-test
が最も可能性が高い)のweblogic-maven-plugin:deploy
ゴールを呼び出すように、新規 <plugin>セクションを追加する必要があります。EARファイルはADFプロジェクト・ディレクトリではなく、appHome/deployディレクトリにあることに注意してください。これは、単一EARファイルに複数のADFヒューマン・タスク・プロジェクトWARファイルが含まれる可能性があるためです。
デプロイメントをSOAサーバーに行う場合(次の例に示すように)、SOAまたはBPMワークスペース・アプリケーションが見つけられるようにADF URIは自動的に適切なMBeanに登録されます。
<plugin>
<groupId>com.oracle.weblogic</groupId>
<artifactId>weblogic-maven-plugin</artifactId>
<version>12.2.1-0-0</version>
<executions>
<execution>
<goals>
<goal>deploy</goal>
</goals>
<phase>pre-integration-test</phase>
<configuration>
<adminurl>t3://localhost:7001</adminurl>
<user>weblogic</user>
<password>password</password>
<source>${project.basedir}/deploy/adf1.ear</source>
<verbose>true</verbose>
<name>${project.build.finalName}</name>
<targets>soa_server1</targets>
</configuration>
</execution>
</executions>
</plugin>
EARファイルをデプロイできるようにするには、appHome/.adf/META-INF/adf-config.xmlに適切なMDS構成を設定する必要があります。これは、SOAプロジェクトのビルドについての考慮事項で示しているように、データベース・ベースのMDSストアである可能性があります。ビルドが正しく動作し、デプロイされたアプリケーションが正しく機能するように、このデータベースはビルド・サーバーおよびランタイム・サーバーの両方からアクセスできる必要があります。これは、本番環境では現実的でない可能性があるため、ADFプロジェクト用に複数のデプロイメント・プロファイルを定義する必要がある場合があります。
undeployゴールを使用して、コンポジットをアンデプロイできます。
表13-7に、undeployコマンドのパラメータを示します。
表13-7 undeployゴールのパラメータ
パラメータ | 目的 |
---|---|
composite.name |
アンデプロイするコンポジットの名前。 |
composite.revision |
アンデプロイするコンポジットのリビジョン。 |
composite.partition |
アンデプロイするコンポジットのあるパーティション。 |
user |
アンデプロイメントに使用するユーザー名。 |
password |
アンデプロイメントに使用するパスワード。 |
SARファイルをアンデプロイするには、環境に適した値を指定して次のコマンドを実行します。このコマンドは1行で入力します。
mvn com.oracle.soa.plugin:oracle-soa-plugin:undeploy -DserverURL=http://test.server:7001 -Dcomposite.name=my-project -Dcomposite.revision=1.0 -Dcomposite.partition=test -Duser=weblogic -Dpassword=welcome1
SOAアプリケーションではなく、SOAプロジェクトに対してundeployゴールを実行する必要があります。
SOA親POMには、次のプロパティがあります。
<properties>
<!--
These two properties are defined in com.oracle.maven:oracle-common, you can overwrite them here.
Users who do not want to add plain text password in their properties or pom
file, should use the userConfigFile and userKeyFile options for deployment.
<oracleUsername>USERNAME</oracleUsername>
<oraclePassword>PASSWORD</oraclePassword>
-->
<!-- Change the default values according to your environment -->
<oracleServerUrl>http://localhost:8001</oracleServerUrl>
<oracleServerName>soa_server1</oracleServerName>
<oracleMiddlewareHome>/home/myhome/Oracle/Middleware</oracleMiddlewareHome>
</properties>
このようなプロパティを設定したり、SOAプロジェクトで有効にする別のプロパティを定義したりすることもできます。SOAプロジェクトPOMでプロパティを参照するには、たとえば前述の例では$oracleServerNameがsoa_server1に置換されるような構文$propertyNameを使用します。