2012-11-07 3 views
1

배포 프로세스를 자동화하고 wsadmin (jython)을 사용하여 일부 파일을 WAS에 업로드하려고합니다. 내 질문은 독립형 wsadmin에서 원격 WAS 서버로 파일을 업로드 할 수 있는지 여부입니다. 그렇다면 응용 프로그램 (fe/opt/IBM/WebSphere/AppServer/temp)에서 어딘가에 파일을 업로드 할 수 있습니까? 특정 프로필에 업로드하는 것이 아니라 서버 루트에 업로드하고 싶습니다.wsadmin 로컬 컴퓨터에서 원격 컴퓨터로 파일 업로드

응용 프로그램을 배포 할 때 WAS에 war/ear 파일을 복사 할 때 별도의 파일을 업로드 할 수있는 메커니즘이 있습니까? 는 wsadmin에서

http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.javadoc.doc/web/mbeanDocs/AntAgent.html

당신의 invoke_jmx 방법을 사용해야합니다 :

많은 감사

답변

1

AntAgent 당신은 어떤 파일을 업로드 할 수 있습니다, 파일의 내용이 메모리에 맞지 수 제공 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)) 

그러면 'hello.txt'파일이 WAS 프로파일의 임시 디렉토리에 있습니다. 상대 경로도 사용할 수 있습니다.

+0

Marcin, 모든 답장을 보내 주셔서 감사합니다. 하지만 파일 전송 클라이언트를 가져올 수 없습니다. 나는 이것을 AdminControl.completeObjectName ('WebSphere : type = FileTransferClient, *')이라고 부르려고 시도하고 있지만 아무것도 돌려 보내지 않는다. resp는 빈 따옴표 만 반환한다. 어딘가에 filetransferclient를 활성화해야합니까 아니면 ND의 일부입니까? 나는 ND의 일부가 아닌 독립형 서버를 가지고있다. 덕분에 – bilak

+0

Bilak, ** AntAgent ** 및 Ant 스크립트의 몇 가지 코드 예를 추가하여 일부 디렉토리를 정리했습니다. –