我在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));
答案 0 :(得分:0)
在创建SVNRepository实例的连接池上运行ISVNRepositoryPool#dispose。它会停止计时器。
有关发布的SVNKit资源,请参阅此article。