2012-09-13 6 views
1

내가 this code 실행 (. 내 REPOS에 분명, 사용자 이름 & 비밀번호) 주요 내부() 모두 잘 :스레드에서 시간 초과 예외를 피하는 방법은 무엇입니까?

:

 .... 
     String url = "http://svn.svnkit.com/repos/svnkit/trunk/doc"; 
     String name = "anonymous"; 
     String password = "anonymous"; 

     SVNRepository repository = null; 
     try { 
      repository = SVNRepositoryFactory.create(SVNURL.parseURIDecoded(url)); 
      ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager(name , password); 
      repository.setAuthenticationManager(authManager); 
      SVNNodeKind nodeKind = repository.checkPath("" , -1); 
      .... 

그러나 나는 다음과 같은 오류가 스레드 내에서이 코드를 실행할 때

svn: E175002: timed out waiting for server

최대 우선 순위로 스레드를 설정하려고했으나 효과가 없습니다. 이 문제를 해결하려면 어떻게해야합니까?

+0

일반적으로 스레드 우선 순위는 아무 것도하지 않습니다. 특히 스레드가 SVN 서버와 같은 리소스를 기다리고있는 경우에는 특히 그렇습니다. – Gray

+0

@ 그레이 : 감사합니다 !! –

답변

1

스레드 때문에 시간 초과가 발생하지만 SVN API가 서버에 연결할 수 없기 때문에 발생합니다. 이 코드를 호출하는 머신이 저장소에 액세스 할 수 있는지 확인하십시오.

스레드는 절대로 시간 초과 예외를 발생시키지 않습니다. 타임 아웃 예외는 도달 할 수없는 서버가있는 네트워크 I/O에서 어떤 종류의 문제를 암시합니다.

+0

당신이 말하는 것이 사실이라면. 왜 같은 기계에서 코드가 main() 내부에서 실행될 때 모두 괜찮습니까? 그리고 outiside가 실행되면 그 오류가 발생합니까? –

관련 문제