wsadmin将文件从本地计算机上传到远程

时间:2012-11-07 09:13:47

标签: websphere wsadmin

我正在尝试自动化部署过程,我想使用wsadmin(jython)将一些文件上传到WAS。我的问题是,是否可以从我的独立wsadmin上传文件到远程WAS服务器。如果是这样,是否可以在应用程序之外的某个地方上传文件(fe。/ opt / IBM / WebSphere / AppServer / temp)?我不想将其上传到特定的配置文件,而是上传到服务器根目录。

当我部署应用程序时,它正在将war / ear文件复制到WAS,那么是否有一些机制可以上传单独的文件?

非常感谢

1 个答案:

答案 0 :(得分:1)

AntAgent允许您上传任何文件,前提是该文件的内容可以适合内存:

https://www.ibm.com/support/knowledgecenter/en/SSAW57_8.5.5/com.ibm.websphere.javadoc.doc/web/mbeanDocs/AntAgent.html

在wsadmin中,您需要使用invoke_jmx对象的AdminControl方法。

from java.lang import String
import jarray

fileContent = 'hello!'
antAgent = AdminControl.makeObjectName(AdminControl.queryNames('WebSphere:*,type=AntAgent,process=dmgr'))

str = String(fileContent)
bytes = str.getBytes()

AdminControl.invoke_jmx(antAgent, 'putScript', [String('hello.txt'),bytes], jarray.array(['java.lang.String', '[B'], String))

之后你会在WAS profile的临时目录中找到'hello.txt'文件。您也可以使用相对路径。