weblogic从入门到起飞(wlst)(四)
目录
用wlst启动和管理server(没有nodemanager的情况下,wlst无法启动受管理服务器,可以启动管理服务器):
介绍wlst
Jython,无缝对接java语言,与运行期间的Mbean、配置的mbean交互。
在线模式、
离线模式,不建议在离线模式下更改正在运行的domain。
wlst有三种模式:
交互模式:命令行输入命令,可以直接获取响应。
脚本模式:后缀名为py的,可以同时运行很多命令。
嵌入模式:嵌入到java代码中。
交互模式、脚本模式的主要步骤:
1.设置相应的环境。
2.调用脚本工具。
3.启动wlst客户端。
4.运行命令。
5.退出wlst。
6.将控制台的信息定向到文件里。
7.获取帮助。
简单使用
windows下:(实际上是启用了$weblogic_home$\common\bin\wlst.cmd脚本)
linux下:
1.进入到目录:$weblogic_home$/server/bin/
2.设置环境变量:source setWLSEnv.sh
3.启动wlst字符界面。
java weblogic.WLST(这是没有参数的启动)
简单的命令(调用函数):
readDomain('/home/weblogic/user_projects/domains/base_domain')
ls()
exit()
java weblogic.WLST -i test.py (这是带脚本的启动,将上面两句放在test.py里面,启动的时候会执行)(-i,执行完不会退出)
get(Active)
execfile('test.py') 执行脚本
java weblogic.WLST -skipWLSModuleScanning(启动时不扫描包,并没有太多的意义)
在common/bin下面,的wlst.sh,可以直接启用./wlst.sh,既初始化环境变量,又启动了wlst。
如果想启用安全的一些东西,在wlst.sh最后,加几个参数:
wlst的主要步骤和命令
如果调用方法参数带特殊字符,可以用r来转义:readTemplate(r'c:\mytemplate.jar')
在离线模式,对象名字是不可以使用这些字符的:. / \
帮助:help('disconnect'):help加上命令名称。
保存所敲得所有的命令:
startRecording(recordFile,[recordAll]) :startRecording('1.py')
stopRecording()
报错之后,使用dumpStack()追踪错误信息。
操作mbean:
cd(mbeanName):切换mbean目录。
prompt(myPrompt):隐藏目录。
ls():罗列
create(name, childMBeanType, [baseProviderType]):创建一个mbean,名称、子类型
delete(name, childMBeanType):删除一个mbean。
get(attrName):获取mbean属性。
set(attrName):设置mbean属性。
mbean:读取domain之后,有子目录和属性,树形结构。
1.读取domain:readDomain('/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain')
2.ls():上面是目录,下面是属性。
3.cmo:获取当前管理对象。
4.get('AdminServerName'):获取属性名。
5.cd('Server'):切换目录
6.prompt():隐藏显示目录,再次敲一遍就会显示。
7.pwd():显示目录。
wlst实例1创建domain和管理server生命周期
离线模式创建domain。
在/home/weblogic/Oracle/Middleware/wlserver_10.3/common/templates/scripts/wlst目录下,有创建domain的脚本。
basicWLSDomain.py:创建domain用的。
basicWLSSDomain.py:安全相关的脚本。
还有一些其他脚本。
创建domain模板:
create():第一个参数为新建对象的名字,第二个参数为新建对象的类型。
修改属性有两种方法。
writeTemplate:创建一个模板。
使用domain模板(创建domain):
四个参数:1.模板地址。2.domain创建地址。3.用户名。4.密码。
用wlst启动和管理server(没有nodemanager的情况下,wlst无法启动受管理服务器,可以启动管理服务器):
1.startServer('AdminServer','base_domain',t3:localhost:7001'):第一个参数为server名称,第二个参数为所在domain名字,第三个参数为url
2.启动后可以连接已启动的domain:
3.cd('Servers')
4.state('Server-0'):查看状态
5.suspend('Server-0',block='true'):将Server-0挂起。block='true'就是阻塞当前操作,该命令执行完再执行下一条。
6.resume('Server-0',block='true'):将server-唤醒。
7.shutdown(block='true'):停止当前服务器。
或者:shuntdown([name],[entityType],[ignoreSessions],[timeOut],[force],[block] )
参数:server名称、Server、忽略session(true/false)、多长时间、是否强制关闭、是否阻塞操作。
wlst导航mbean
1.启动AdminServer。
2.运行/common/bin/wlst.sh。
3.连接到domain。connect()——输入用户名密码地址。
4.cmo:打印当前对象名字和类型。
5.ls():打印子目录和子节点。(前面带d的为目录,不带d的为属性。r可读、w可写、x可执行)
6.cd('Servers'):进入Servers目录。cd('..')、cd('/')
7.domainConfig()或者serverConfig()。(在受管理服务器不能用domainConfig())
8.domainRuntime():展示当前domain当中的一些运行状态。
9.domainCustom():可写的树,没有根,cmo无法运行。
10.serverRuntime():当前服务器,信息比domainRuntime()多,只读。
11.custom():可写的树,没有根,cmo无法运行。
12.edit():可更改。startEdit()、save(),active()更改、**。
13.find('WeblogicPluginEdabled'):找有这个属性的mbean。
14.bean1=getMBean('/Servers/AdminServer'),bean1.getStuckThreadMaxTime()。
15.disconnect()
mServer
只能用RuntimeMBeanServer。
wlst修改已经存在的domain
在线更改domain步骤:
链接到管理服务器。
edit():进入编辑模式,获取锁。
activate(block='true'):提交更改。
在save()之前,可以showChanges(),列出你所做的更改。
undo():将更改回滚。
cancelEdit():将更改回滚并且退出编辑,释放锁。
更改离线状态的domain: