1

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

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

非常感谢

4

1 回答 1

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 配置文件的临时目录中找到“hello.txt”文件。您也可以使用相对路径。

于 2012-11-08T06:47:18.120 回答