私は
svnkitsvnリビジョンログを取得するためにJavaアプリケーションで使用しますが、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));