我正在尝试自动化部署过程,我想使用wsadmin(jython)将一些文件上传到WAS。我的问题是,是否可以从我的独立wsadmin上传文件到远程WAS服务器。如果是这样,是否可以在应用程序之外的某个地方上传文件(fe。/ opt / IBM / WebSphere / AppServer / temp)?我不想将其上传到特定的配置文件,而是上传到服务器根目录。
当我部署应用程序时,它正在将war / ear文件复制到WAS,那么是否有一些机制可以上传单独的文件?
非常感谢答案 0 :(得分:1)
AntAgent允许您上传任何文件,前提是该文件的内容可以适合内存:
在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'文件。您也可以使用相对路径。