vmware vijava 클 라 이언 트 호출 이상
vmware 가상 화 플랫폼 을 사용 할 때 VIJAVA 를 통 해 VCenter 의 Task 정 보 를 얻 고 30 회 이상 호출 하면 'java. rmi. Remote Exception: VI SDK invoke exception: com. vmware. vim 25. InvalidState' 이상 을 던 집 니 다.
호출 코드:
ServiceInstance si = new ServiceInstance(new URL("https://192.168.0.100/sdk"), "administrator", "123456", true);
int i=1;
while(true)
{
TaskManager taskMgr = si.getTaskManager();
TaskFilterSpec tfs = new TaskFilterSpec();
tfs.setEventChainId(new int[]{2951});
try{
TaskHistoryCollector thc = taskMgr.createCollectorForTasks(tfs);
TaskInfo[] tasks = null;
while(true)
{
tasks = thc.readNextTasks(50);
if(tasks==null)
{
break;
}
for(TaskInfo t : tasks)
{
System.out.println(t.key + " " + t.changeTag + " " + t.eventChainId + " " + t.getProgress() );
}
}
}catch(Exception e)
{
e.printStackTrace();
}
System.out.println("--------------------------------------------------"+i);
Thread.sleep(100);
i++;
}
30 회 실행 후 이상 던 지기:
WARN : java.rmi.RemoteException: VI SDK invoke exception:com.vmware.vim25.InvalidState
at com.vmware.vim25.ws.WSClient.invoke(WSClient.java:122)
at com.vmware.vim25.ws.VimStub.createCollectorForTasks(VimStub.java:1666)
at com.vmware.vim25.mo.TaskManager.createCollectorForTasks(TaskManager.java:75)
at com.lenovo.itcloud.vm.vmware.VmTaskManager.getTaskInfo(VmTaskManager.java:155)
at com.lenovo.itcloud.vm.vmware.VmTaskManager.run(VmTaskManager.java:100)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
해결 방법:
매번 Task History Collector 를 사용 한 후 destory Collector () 방법 을 사용 하여 소각 해 야 합 니 다.
thc.destroyCollector();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
P2V했을 때 BSoD STOP 0x0000007A로 빠졌다글쎄, 이런 기사는 아무도 읽지 않을 것이라고 생각하지만, 잊은 기록으로 남겨 둡니다. 그 순서로 수정해도 Windows Server 2003과 XP는 Boot 할 수 있었지만, 2008R2는 Boot하지 않고(울음...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.