2012-11-07 56 views
1

我試圖自動執行部署過程,並且想使用wsadmin(jython)將一些文件上傳到WAS。我的問題是,是否可以將文件從獨立的wsadmin上傳到遠程WAS服務器。如果是這樣,是否有可能將文件上傳到應用程序之外(例如/ opt/IBM/WebSphere/AppServer/temp)?我不想將其上傳到特定的配置文件,而是上傳到服務器根目錄。wsadmin從本地機器上傳文件到遠程

當我部署應用程序時,它將複製war/ear文件到WAS,那麼是否有一些機制可以上傳單獨的文件?

千恩萬謝

回答

1

AntAgent允許您上傳任何文件,提供該文件的內容可以存放在內存:

http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/topic/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'文件。您也可以使用相對路徑。

+0

Marcin,謝謝你的回覆。但我無法獲得文件傳輸客戶端。我想這樣調用它:AdminControl.completeObjectName('WebSphere:type = FileTransferClient,*')但它回退沒有,因此它只返回空引號''。我應該在某處啓用filetransferclient還是僅僅是ND的一部分?我有獨立的服務器,它不是ND的一部分。謝謝 – bilak

+0

Bilak,我已經添加了** AntAgent **和Ant腳本清除某些目錄的一些代碼示例。 –

相關問題