WebLogic Server アプリケーションの開発
以下の節では、開発ビルド スクリプトに含めることができる WebLogic Ant タスクを使用して、WebLogic Server インスタンスの起動と停止、および WebLogic Server ドメインのコンフィグレーションを行う方法について説明します。
WebLogic Server には、開発環境で一般的なコンフィグレーション タスクを実行するのに役立つ Ant タスクが 2 つあります。コンフィグレーション タスクでは、WebLogic Server インスタンスの起動と停止、WebLogic Server ドメインの作成とコンフィグレーションを行うことができます。
他の WebLogic Ant タスクと組み合わせると、カスタム ドメインでアプリケーションの実証やテストを行うための強力なビルド スクリプトを作成できます。たとえば、単一の Ant ビルド スクリプトでは、以下のことを実行できます。
wlcompile
、wlappc
、および Web サービス Ant タスクを使用して、アプリケーションをコンパイルする。wlserver
Ant タスクを使用して、新しい単一サーバ ドメインを作成し、管理サーバを起動する。wlconfig
Ant タスクを使用して、必要なアプリケーション リソースを備えた新しいドメインをコンフィグレーションする。wldeploy
Ant タスクを使用して、アプリケーションをデプロイする。以下の節では、コンフィグレーション用 Ant タスクの wlserver
および wlconfig
の使い方について説明します。
wlserver
Ant タスクを使用すると、WebLogic Server インスタンスを起動、再起動、および停止したり、WebLogic Server インスタンスへ接続したりできます。サーバ インスタンスは、コンフィグレーション済みの WebLogic Server ドメインにすでに存在している場合もあります。または、generateconfig=true
属性を使用して、開発用の新しい単一サーバ ドメインを作成することができます。
Ant スクリプトで wlserver
タスクを使用する場合、指定したサーバが使用可能になり接続をリスンするまで、タスクは制御を返しません。wlserver を使用してサーバ インスタンスを起動すると、サーバ プロセスは Ant VM の終了後に自動的に終了します。wlserver
タスクを使用して、現在動作中のサーバにのみ接続する場合、サーバ プロセスは Ant の完了後も実行し続けます。
wlserver
WebLogic Server Ant タスクは、標準 java
Ant タスク (org.apache.tools.ant.taskdefs.Java
) を拡張します。つまり、java
Ant タスクのすべての属性も wlserver
Ant タスクに適用されます。たとえば、output
属性と error
属性を使用すると、wlserver
Ant タスクの出力が書き込まれるファイルと標準エラーが書き込まれるファイルの名前を指定できます。標準 java Ant タスクの属性の詳細については、Apache Ant サイトの「Java」を参照してください。
wlserver Ant タスクを使用するには、次の手順に従います。
Windows NT では、WL_HOME\server\bin
ディレクトリにある setWLSEnv.cmd
コマンドを実行します。WL_HOME
は、インストールされている WebLogic Server の最上位ディレクトリです。
UNIX では、WL_HOME/server/bin
ディレクトリにある setWLSEnv.sh
コマンドを実行します。WL_HOME
は、インストールされている WebLogic Server の最上位ディレクトリです。
注意 : wlserver
タスクは、WebLogic Server に付属しているバージョンの Ant であらかじめ定義されています。独自にインストールした Ant でこのタスクを使用する場合は、ビルド ファイルに次のタスク定義を追加します。
<taskdef name="wlserver" classname="weblogic.ant.taskdefs.management.WLServer"/>
wlserver
タスクの呼び出しを追加します。wlserver
の属性とデフォルトの動作については、「wlserver Ant タスク リファレンス」を参照してください。
prompt> ant
以下に、すべてのデフォルト値を使用してカレント ディレクトリ内のサーバを起動する、最小限の wlserver
ターゲットを示します。
<target name="wlserver-default">
<wlserver/>
</target>
次のターゲットは、指定された接続パラメータ、およびユーザ名とパスワードの組み合わせを使用して、既存の動作中サーバに接続します。
<target name="connect-server">
<wlserver host="127.0.0.1" port="7001" username="weblogic" password="weblogic" action="connect"/>
</target>
次のターゲットは、config
サブディレクトリにコンフィグレーションされた WebLogic Server インスタンスを起動します。
<target name="start-server">
<wlserver dir="./config" host="127.0.0.1" port="7001" action="start"/>
</target>
次のターゲットは、空のディレクトリに新しい単一サーバ ドメインを作成し、ドメインのサーバ インスタンスを起動します。
<target name="new-server">
<delete dir="./tmp"/>
<mkdir dir="./tmp"/>
<wlserver dir="./tmp" host="127.0.0.1" port="7001"
generateConfig="true" username="weblogic" password="weblogic" action="start"/>
</target>
次の表では、wlserver
Ant タスクの属性について説明します。
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
以下の節では、wlconfig
Ant タスクを使用して WebLogic Server ドメインをコンフィグレーションする方法について説明します。
wlconfig
Ant タスクを使用すると、動作中の管理サーバ インスタンス上で MBean の作成、クエリ、変更を行うことで、WebLogic Server ドメインをコンフィグレーションできます。特に、wlconfig
では以下のことを実行できます。
注意 : wlconfig
タスクは、WebLogic Server に付属しているバージョンの Ant であらかじめ定義されています。独自にインストールした Ant でこのタスクを使用する場合は、ビルド ファイルに次のタスク定義を追加します。
<taskdef name="wlconfig" classname="weblogic.ant.taskdefs.management.WLConfig"/>
<target name="doconfig">
<wlconfig url="t3://localhost:7001" username="weblogic"
password="weblogic">
</target>
以下の節では、wlconfig
Ant タスクを使用するためのサンプル Ant ビルド スクリプトを示します。
この例では、wlserver
を使用して新しいドメインを作成し、wlconfig
を使用してさまざまなドメイン コンフィグレーション タスクを実行する、単一の build.xml
ファイルを示します。コンフィグレーション タスクでは、Avitek Medical Records サンプル アプリケーションで必要なドメイン リソースを設定します。
<target name="medrec.config">
<mkdir dir="config"/>
<wlserver username="a" password="a" servername="MedRecServer"
domainname="medrec" dir="config" host="localhost" port="7000"
generateconfig="true"/>
次に、新しく作成したサーバにアクセスすることで、wlconfig
タスクを開始します。
<wlconfig url="t3://localhost:7000" username="a" password="a">
wlconfig
タスクの内部で、query
要素はサーバ MBean オブジェクト名を取得するクエリを実行し、この MBean を ${medrecserver}
Ant プロパティに格納します。
<query domain="medrec" type="Server" name="MedRecServer"
property="medrecserver"/>
create
要素を使用してドメインに新しい JDBC 接続プールを作成し、オブジェクト名を ${medrecpool}
Ant プロパティに格納します。create
操作内にネストされた set
要素は、新しく作成した MBean の属性を設定します。上記のクエリで設定された ${medrecserver}
Ant プロパティを使用して、新しいプールをサーバに割り当てます。
<create type="JDBCConnectionPool" name="MedRecPool"
property="medrecpool">
<set attribute="CapacityIncrement" value="1"/>
<set attribute="DriverName"
value="com.pointbase.jdbc.jdbcUniversalDriver"/>
<set attribute="InitialCapacity" value="1"/>
<set attribute="MaxCapacity" value="10"/>
<set attribute="Password" value="MedRec"/>
<set attribute="Properties" value="user=MedRec"/>
<set attribute="RefreshMinutes" value="0"/>
<set attribute="ShrinkPeriodMinutes" value="15"/>
<set attribute="ShrinkingEnabled" value="true"/>
<set attribute="TestConnectionsOnRelease" value="false"/>
<set attribute="TestConnectionsOnReserve" value="false"/>
<set attribute="URL"
value="jdbc:pointbase:server://localhost/demo"/>
<set attribute="Targets" value="${medrecserver}"/>
</create>
次に、上記で作成された JDBC 接続プールを使用して JDBC TX DataSource を作成します。
<create type="JDBCTxDataSource" name="Medical Records Tx DataSource">
<set attribute="JNDIName" value="MedRecTxDataSource"/>
<set attribute="PoolName" value="MedRecPool"/>
<set attribute="Targets" value="${medrecserver}"/>
</create>
ネストされた set
要素を使用して新しい JMS 接続ファクトリを作成します。
<create type="JMSConnectionFactory" name="Queue">
<set attribute="JNDIName" value="jms/QueueConnectionFactory"/>
<set attribute="XAServerEnabled" value="true"/>
<set attribute="Targets" value="${medrecserver}"/>
</create>
MedRecPool
を使用して新しい JMS JDBC ストアを作成します。
<create type="JMSJDBCStore" name="MedRecJDBCStore"
property="medrecjdbcstore">
<set attribute="ConnectionPool" value="${medrecpool}"/>
<set attribute="PrefixName" value="MedRec"/>
</create>
新しい JMS サーバを作成する際に、ネストされた create
要素を使用して、JMS サーバの子である JMS キューを作成します。
<create type="JMSServer" name="MedRecJMSServer">
<set attribute="Store" value="${medrecjdbcstore}"/>
<set attribute="Targets" value="${medrecserver}"/>
<create type="JMSQueue" name="Registration Queue">
<set attribute="JNDIName" value="jms/REGISTRATION_MDB_QUEUE"/>
</create>
</create>
<create type="MailSession" name="Medical Records Mail Session">
<set attribute="JNDIName" value="mail/MedRecMailSession"/>
<set attribute="Properties"
value="mail.user=joe;mail.host=mail.mycompany.com"/>
<set attribute="Targets" value="${medrecserver}"/>
</create>
<create type="StartupClass" name="StartBrowser">
<set attribute="Arguments" value="port=${listenport}"/>
<set attribute="ClassName"
value="com.bea.medrec.startup.StartBrowser"/>
<set attribute="FailureIsFatal" value="false"/>
<set attribute="Notes" value="Automatically starts a browser on server boot."/>
<set attribute="Targets" value="${medrecserver}"/>
</create>
最後に、WebServer
MBean を取得し、ネストされた set
要素を使用してログ ファイル名を設定します。
<query domain="medrec" type="WebServer" name="MedRecServer">
<set attribute="LogFileName" value="logs/access.log"/>
</query>
</wlconfig>
</target>
query
要素の内部にネストされる場合、その query
要素では MBean 名を指定する必要はありません。
<target name="queryDelete">
<wlconfig url="${adminurl}" username="${user}" password="${pass}"
failonerror="false">
<query query="${wlsdomain}:Name=MyNewServer2,*"
property="deleteQuery">
<delete/>
</query>
</wlconfig>
</target>
set
要素では、1 つの属性値を Ant プロパティに格納されている複数のオブジェクト名に設定できます。たとえば、次のターゲットは、2 つのサーバのオブジェクト名を異なる Ant プロパティに格納し、その後、それらのプロパティを使用して両方のサーバを新しい JDBC 接続プールの Targets 属性に割り当てます。
<target name="multipleJDBCTargets">
<wlconfig url="${adminurl}" username="${user}" password="${pass}">
<query domain="mydomain" type="Server" name="MyServer"
property="myserver"/>
<query domain="mydomain" type="Server" name="OtherServer"
property="otherserver"/>
<create type="JDBCConnectionPool" name="sqlpool" property="sqlpool">
<set attribute="CapacityIncrement" value="1"/>
[.....]
<set attribute="Targets" value="${myserver};${otherserver}"/>
</create>
</wlconfig>
</target>
以下の節では、wlconfig
で使用可能な属性と要素について説明します。
次の表では、wlconfig
Ant タスクの主な属性について説明します。
|
|||
|
|||
|
|||
|
wlconfig
には、コンフィグレーション オプションを指定するためにネストできる要素もあります。
create
要素は、WebLogic Server ドメインで新しい MBean を作成します。wlconfig
タスクには create
要素をいくつでも指定できます。
create
要素には、ネストされた set
要素をいくつでも指定できます。この要素では、新しく作成される MBean の属性を設定します。create
要素にはネストされた create
要素を追加することもできます。この要素は子 MBean を作成します。
delete
要素は、WebLogic Server ドメインから既存の MBean を削除します。delete
要素には属性が 1 つあります。
set
要素は、指定された MBean、新しく作成された MBean、またはクエリの一部として取得された MBean に対して、MBean 属性を設定します。set
要素は、wlconfig
タスクの直接の子として、または create
要素や query
要素の内部にネストして指定することができます。
|
|||
|
|||
|
get
要素は、WebLogic Server ドメインの MBean から属性値を取得します。wlconfig
タスクには get
要素をいくつでも指定できます。
query
要素は検索パターンに一致する MBean を見つけます。
query 要素では、以下のネストされた子要素を使用できます。
set
- 結果セット内のすべての MBean に対して set 操作を実行します。get
- 結果セット内のすべての MBean に対して get 操作を実行します。create
- 結果セット内の各 MBean が、新しい MBean の親として使用されます。delete
- 結果セット内のすべての MBean に対して delete 操作を実行します。invoke
- 結果セット内で一致する MBean をすべて呼び出します。wlconfig
タスクには、ネストされた query
要素をいくつでも指定できます。
|
invoke
要素は、1 つまたは複数の MBean の管理操作を呼び出します。WebLogic Server MBean の場合、通常このコマンドを使用して、ほとんどの WebLogic Server MBean が備えている get
Attribute
と set
Attribute
以外の操作を呼び出します。