如何在日志后释放svnkit资源

时间:2013-05-21 09:57:39

标签: java svnkit

  • 我在java应用程序中使用svnkit获取svn修订日志,但在完成visualVm上的某个svnkit资源和线程的过程后仍然存在并且生存。

  • 离。 org.tmatesoft.svn.core.internal.util.SVNHashMap $ KeyIterator org.tmatesoft.svn.core.wc.DefaultSVNRepositoryPool $ TimeoutTask

  • 当我尝试多次登录时,会影响应用程序性能。

  • 如何发布svnkit资源?

  • 代码示例:

    public static SVNLogEntryHandler doLogFully(String[] paths, long startRevision, long endRevision, SVNRepository repository) throws SVNException {
    SVNLogEntryHandler logEntryHandler = new SVNLogEntryHandler();
    
    repository.log(paths, startRevision, endRevision, true, true, 0, false, null, logEntryHandler);
    
    return logEntryHandler;
    }
    
  • 故事日志条目。

      for (SVNLogEntry logEntry : doLogFully(..,..,..,..,..).getLogEntries()) {
         // store log entry 
       }
    
  • 更新

    • 我使用SVNRepository创建SVNRepositoryFactory

      SVNRepository repository = SVNRepositoryFactory.create(SVNURL.parseURIEncoded(repositoryUrl));
          repository.setAuthenticationManager(SVNWCUtil.createDefaultAuthenticationManager(repositoryUserName, repositoryPassword));
      

1 个答案:

答案 0 :(得分:0)

在创建SVNRepository实例的连接池上运行ISVNRepositoryPool#dispose。它会停止计时器。

有关发布的SVNKit资源,请参阅此article