ant - 使用 ant 和 jython 的 WebSphere 配置

标签 ant websphere jython

我已经能够使用下面的 Jython 脚本成功配置资源环境条目。我在本地应用程序服务器 bin 目录中使用 ws_admin 程序调用 Jython 脚本。

我所在的团队在构建过程中首选使用 ant 技术。

我在网上查找有关使用 ant 配置 WebSphere 的文档,到目前为止,在我看来,主要是能够从 ant 调用 ws_admin 等程序。

是否可以直接使用 ant 而不是使用 Jython 或 Jacl 脚本来配置资源环境条目?如果没有,我该如何设置 ant 任务以减少设置资源环境条目所需的 Jython 数量?

这是我当前设置资源环境条目的 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()

最佳答案

从 WAS 7 开始,除了管理控制台和 wsadmin 之外,还引入了第三种配置服务器的方法,即 properties file based configuration .正如 related Education Assistant presentation 中所解释的,这种新的管理模型据说“消除了编写复杂的 wsadmin 脚本的需要” .

基本上,您要做的是配置单个环境,将感兴趣的配置部分导出到可移植属性文件,然后使用该文件作为单行 wsadmin 的输入> 脚本,它将属性文件中的配置应用到另一个目标服务器。因此,您摆脱了 Jython 的许多行并使用更简单的人工制品,这是一个具有简单和熟悉的语法的属性文件。

除了上述链接之外,还有一个 nice article about this feature在 Developerworks。

关于ant - 使用 ant 和 jython 的 WebSphere 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15483153/

相关文章:

web-services - 使用 CXF 框架和 CXFNonSpringServlet 为 WebService (WebApplication Server) 配置 SSL 身份验证

websphere - 应用在Websphere上挂起-> 'Initializing Spring root WebApplicationContext'

ssl - 在 Maximo/Jython 中下载 SetupTools 失败并出现 HTTP 错误 403 SSL is required

java - 如何导入我在 jython 中创建的 java 类并调用方法

java - 如何禁止ant在iterm2中输出警告信息?

java - JUnit AntClassNotFoundException

java - 启动 websphere 服务器时出现问题?

java - 我可以创建没有 svg 文件的 JSVGCanvas 吗?

java - 为 2 个不同版本构建 Ant

java - 如何禁用标准 Ant 任务?