【问题标题】:WLST data source and unknown hostWLST 数据源和未知主机
【发布时间】:2018-06-11 12:34:20
【问题描述】:

我正在使用在线 WLST 脚本在 Docker 映像构建期间配置 WebLogic 服务器。基本上,docker 镜像构建会启动 WebLogic 并执行以下脚本

import os

import time
import getopt
import sys
import re

# Deployment Information
domainname = os.environ.get('DOMAIN_NAME', 'base_domain')
domainhome = os.environ.get('DOMAIN_HOME', '/u01/oracle/user_projects/domains/' + domainname)
cluster_name = os.environ.get("CLUSTER_NAME", "DockerCluster")
admin_name = os.environ.get("ADMIN_NAME", "AdminServer")

connect(username,password,server_url)
edit()


print ""
print "================== DataSource ==================="
startEdit()

# Create Datasource
# ==================
cd('/')
cmo.createJDBCSystemResource(dsname)

cd('/JDBCSystemResources/' + dsname + '/JDBCResource/' + dsname)
cmo.setName(dsname)

cd('/JDBCSystemResources/' + dsname + '/JDBCResource/' + dsname)
cd('JDBCDataSourceParams/' + dsname)
set('JNDINames', jarray.array([String(dsjndiname)], String))

cd('/JDBCSystemResources/' + dsname + '/JDBCResource/' + dsname)
cd('JDBCDriverParams/' + dsname)
cmo.setDriverName(dsdriver)
cmo.setUrl(dsurl)
set('PasswordEncrypted', encrypt(dspassword))

print 'create JDBCDriverParams Properties'
cd('Properties/' + dsname)
cmo.createProperty('user')
cd('Properties/user')
cmo.setValue(dsusername)

print 'create JDBCConnectionPoolParams'
cd('/JDBCSystemResources/' + dsname + '/JDBCResource/' + dsname)
cd('JDBCConnectionPoolParams/' + dsname)
set('TestTableName','SQL SELECT 1 FROM DUAL')

# Assign
# ======
#assign('JDBCSystemResource', dsname, 'Target', admin_name)
#assign('JDBCSystemResource', dsname, 'Target', cluster_name)
cd('/SystemResources/' + dsname)

set('Targets',jarray.array([ObjectName('com.bea:Name=' + targetname + ',Type=' + targettype)], ObjectName))


# Update Domain, Close It, Exit
# ==========================
#save()
activate()

print ""
#disconnect()
exit()

问题是,数据库主机在构建时不存在,因为它是 docker-compose 环境中另一个 docker 容器的容器名称。使用此脚本,在数据源上设置目标会引发异常,因为无法解析主机名,因此激活调用失败,以及以下所有依赖于数据源的 WLST 脚本。然而,我不想在整个环境启动并运行后手动设置目标。在这种情况下如何避免异常?

【问题讨论】:

    标签: docker jakarta-ee weblogic wlst


    【解决方案1】:

    将数据源的初始容量和最小容量设置为 0,这允许在没有测试的情况下激活,并且应该跳过您的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-10
      • 2013-03-10
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多