2012-09-13 42 views
1

当我执行this code(显然与我的回购协议,用户名&密码)主()内的一切都很好:如何避免线程中的超时异常?

 .... 
     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它,我得到那个错误? –