dev2dev.bea.com.cn
首页 资源中心 dev2dev学堂 在线技术论坛 专家Blog User Group CodeShare

将WLST用作Jython模块

2006-03-01 00:00:00 | 评论 (0) | 被访问(428)次

Satya Ghattu
  Satya Ghattu加入BEA公司已经有4年多了,担任软件工程师,专门负责WebLogic Platform的Operations Administration以及Management方面。Satya拥有将近8年的软件开发经验,主要是在应用服务器、核心java以及相关的(J2EE)技术方面。他还领导着dev2dev上CodeShare中的几个开源项目,并向dev2dev社区贡献了大量的代码示例。Satya是WebLogic Scripting Tool (WLST)的最初设计者,该工具是BEA官方支持的WebLogic Server命令行工具。在加入BEA之前,他曾在许多软件公司担任各种不同的职务,做过高级Java开发人员、软件分析师,还做过Oracle数据库管理员。Satya持有俄亥俄州Akron大学的工程学硕士学位。


  最近有许多人向我询问如何将WLST用作模块。主要是以下几个问题:

什么是Jython模块?

  简单地说,jython模块或多或少有点像可以导入其它模块的Java类/对象。假设您编写了一个脚本/模块A.py,并定义了一个函数myFunction。那么现在就可以将A.py导入到另一个脚本中,假设为B.py,并调用函数myFunction。下面是实现代码:

A.py
-------
def myFunction():
  print "Hello There!"
def printFirstName(myName):
  print "Hello "+myName

B.py
------
import A
A.myFunction()
A.printFirstName("satya")

  WLST提供了一种方便的方法,允许将其作为模块导入到脚本中,并使用所有支持的WLST命令。这样做的好处是,可以不依赖WebLogic地编写Jython模块,并将WLST模块导入到所编写的模块中。例如,现在可以再编写一个C.py模块,然后将wlstModule.py和A.py导入其中。

C.py
------
import A
import wlstModule.py as myWLST
# connect to the server
myWLST.connect('weblogic','weblogic','t3://sghattu:7001')
# call a function from module A
A.printFirstName("satya")
#start and edit session and create a server
myWLST.edit()
myWLST.startEdit()
newSvr = myWLST.cmo.createServer('ms1')
newSvr.setListenPort(8001)
myWLST.activate()
myWLST.disconnect()

将WLST用作模块与调用WLST有什么区别?

  如果通过java weblogic.WLST调用WLST,WLST将实例化一个Jython解释程序,创建一个WLST命名空间并安装所有的WLST函数。可以导入其他模块,但是无法从这些外部模块访问WLST函数。因为当导入其他模块时,它们会被导入到Jython的默认命名空间中而不是WLST命名空间中。要在WLST命名空间中使用模块,必须使用execfile (externalModule.py)在WLST命名空间中执行模块。

在哪里可以找到WLST模块?有没有什么好的建议?

  WLST模块位于{WL_HOME}/common/wlst/modules/wlstModule.py下。还可以使用writeIniFile命令生成一个。

  如果打算将WLST用作模块,应该使用java org.python.util.jython 来调用脚本。不要使用java weblogic.WLST 并将WLST作为模块导入。这会将WLST模块导入到WLST命名空间中,如果将模块调用与直接的WLST调用混合使用,将会得到怪异的效果。因此我不推荐您这样做。如果要将WLST用作模块,请直接使用Jython。

原文出处: http://dev2dev.bea.com/blog/sghattu/archive/2006/01/wlst_as_a_jytho.html


Tags: WLST Jython Module 模块
文章评论:(以下网友留言只代表个人观点,不代表BEA观点和立场)
暂时没有评论!

2006年03月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
             
RSS订阅

Satya Ghattu's Blog搜索