3

以下の Jython スクリプトを使用して、リソース環境エントリを正常に構成できました。ローカル アプリ サーバーの bin ディレクトリにある ws_admin プログラムで Jython スクリプトを呼び出します。

私は、ビルド プロセスで ant が推奨されるテクノロジであるチームで働いています。

ant を使用した WebSphere の構成に関するドキュメントを Web で調べましたが、これまでのところ、主に ant から ws_admin などのプログラムを呼び出すことができるようです。

Jython または Jacl スクリプトを使用する代わりに、ant を直接使用してリソース環境エントリーを構成することは可能ですか? そうでない場合、リソース環境エントリーのセットアップに必要な Jython の量を減らすために、Ant タスクをセットアップするにはどうすればよいですか?

リソース環境エントリを設定する現在の Jython スクリプトを次に示します。最終的には、Jython への依存を減らす方法を探しています...

# Set up Variables used within this script
objServerAttrs  = AdminControl.completeObjectName('WebSphere:type=Server,*')
node            = AdminControl.getAttribute(objServerAttrs, 'nodeName')
server          = AdminControl.getAttribute(objServerAttrs, 'name')
provider        = "Test_ConfigurationProvider"
providerFactory = "com.DG_ConfigurationFactory"
providerClass   = "com.DG_Configuration"

# Function for creating resource custom properties
def createResourceCustomProperty(envEntry, propName, propValue):
    propSet = AdminConfig.showAttribute(envEntry, 'propertySet') 
    if propSet == None:
        propSet = AdminConfig.create('J2EEResourcePropertySet',envEntry,[])

    name = ['name', propName]
    value = ['value', propValue]
    propAttrs = [name, value]
    AdminConfig.create('J2EEResourceProperty', propSet, propAttrs)
    return

# Create the resource environment provider
AdminResources.createResourceEnvProvider(node, server, provider)
AdminResources.createResourceEnvProviderRef(node,server,provider, providerFactory, providerClass)

# Create the resource environment entries
## Context Configuration
envEntry = AdminResources.createResourceEnvEntries(node,server,provider, "Context Configuration", "test-config/context")
createResourceCustomProperty(envEntry, "deployment.environment", "IDE")
createResourceCustomProperty(envEntry, "server.context", "com.context.DG_WebSphereServerContext")
createResourceCustomProperty(envEntry, "user.context", "com.context.DG_WebSphereUserContext")
createResourceCustomProperty(envEntry, "log.directory", "C:/Development/WebSphere/Logs")
createResourceCustomProperty  (envEntry, "file.directory", "C:/Development/WebSphere/AppFiles")

## Mail Configuration
envEntry = AdminResources.createResourceEnvEntries(node,server,provider, "Mail  Configuration", "test-config/mail")
createResourceCustomProperty(envEntry, "enabled", "false")
createResourceCustomProperty(envEntry, "mailSessionJndiName", "mail/MailSession")

## User Repository Configuration
envEntry = AdminResources.createResourceEnvEntries(node, server, provider, "User Repository Configuration", "test-config/userRepository")
createResourceCustomProperty(envEntry, "ldap.provider.url", "ldap://test.com:389/cn=users,dc=com")
createResourceCustomProperty    (envEntry, "ldap.security.principal", "cn=was_user,cn=users,dc=com")

# Save changes to the configuration
AdminConfig.save()
4

1 に答える 1

4

WAS 7 以降、管理コンソールと wsadmin に加えて、サーバーを構成する 3 番目の方法、つまりプロパティ ファイル ベースの構成が導入されました。この新しい管理モデルは、関連する Education Assistant プレゼンテーションで説明されているように、「複雑な wsadmin スクリプトを記述する必要性を排除する」とされています。

基本的に、単一の環境を構成し、関心のある構成の部分を移植可能なプロパティ ファイルにエクスポートし、後でこのファイルをwsadminスクリプトの 1 行への入力として使用します。これにより、プロパティ ファイルの構成が適用されます。別のターゲット サーバーに。そのため、Jython の多くの行を取り除き、単純で使い慣れた構文のプロパティ ファイルである、はるかに単純なアーティファクトを使用します。

上記のリンクに加えて、Developerworks にはこの機能に関する素晴らしい記事があります。

于 2013-03-19T21:23:46.697 に答える