후 svnkit 자원을 해제하는 방법.내가 자바 응용 프로그램에서 <code>svnkit</code> SVN 개정 로그를 얻을 수 있지만, <code>visualVm</code> 일부 svnkit 자원 및 스레드 여전히 존재하고 살기에 마무리 후 공정에 사용 방법 로그
ex. 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 }
업데이트
은 내가
SVNRepositoryFactory
를 사용하여SVNRepository
을 만들 수 있습니다.SVNRepository repository = SVNRepositoryFactory.create(SVNURL.parseURIEncoded(repositoryUrl)); repository.setAuthenticationManager(SVNWCUtil.createDefaultAuthenticationManager(repositoryUserName, repositoryPassword));
0
A
답변
0
실행 ISVNRepositoryPool # 당신이 SVNRepository 인스턴스를 만들 수있는 연결 풀에 폐기하십시오. 타이머가 멈 춥니 다.
SVNKit 리소스 공개에 대한 내용은 article도 참조하십시오.
문서와 업데이트를 기반으로 질문을 업데이트합니다. 리소스와 연결을 해제하기 위해'repository.closeSession(); '만 호출하면됩니다. –
어떤 프로토콜을 사용합니까? svn + ssh를 사용하면 SVNKit은 SSH 연결을 약 10 분 동안 계속 유지합니다. 그렇지 않으면 모든 작업이 매우 느려지므로. –
나는 svn을 사용하고'repository.closeSession();'도 시도하지만 visualVm은 여전히'org.tmatesoft.svn.core.wc.DefaultSVNRepositoryPool $ TimeoutTask'을 얻는다. 'org.tmatesoft.svn.core.internal.util.SVNHashMap $ KeyIterator'를 호출합니다. –