【问题标题】:wsadmin upload file from local machine to remotewsadmin 从本地机器上传文件到远程
【发布时间】:2012-11-07 09:13:46
【问题描述】:

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

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

非常感谢

【问题讨论】:

    标签: websphere wsadmin


    【解决方案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 对象的 invoke_jmx 方法。

    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”文件。您也可以使用相对路径。

    【讨论】:

    • Marcin,感谢您的所有回复。但我无法获得文件传输客户端。我试图这样称呼它: AdminControl.completeObjectName('WebSphere:type=FileTransferClient,*') 但它没有返回任何内容,它只返回空引号''。我应该在某处启用 filetransferclient 还是它只是 ND 的一部分?我有独立的服务器,它不是 ND 的一部分。谢谢
    • Bilak,我添加了一些 AntAgent 的代码示例和清理一些目录的 Ant 脚本。
    • ibm docs AntAgent here的工作链接
    猜你喜欢
    • 2020-10-26
    • 2021-03-08
    • 2011-12-05
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-27
    • 2017-10-23
    相关资源
    最近更新 更多