public interface ISVNSession
For remote accessing a repository (via svn://
and
http://
) SVNRepository drivers open socket connections to
write and read data from. Session objects (implementing ISVNSession) may
enable an SVNRepository object to use a single socket connection during the
whole runtime, or, as an alternative, to use a new socket connection per each
repository access operation (this slows the speed of operation execution since
the operation needs some extra time for opening and closing a socket).
Also ISVNSession allows to cache and retrieve commit messages during runtime.
How to set a session object for an SVNRepository driver:
import org.tmatesoft.svn.core.io.ISVNSession; import org.tmatesoft.svn.core.io.SVNRepositoryFactory; import org.tmatesoft.svn.core.io.SVNRepository; import org.tmatesoft.svn.core.SVNURL; ... ISVNSession session; ... SVNURL url = SVNURL.parseURIEncoded("svn://host/path/to/repos"); try{ SVNRepository repository = SVNRepositoryFactory.create(url, session); ... }catch(SVNException svne){ ... }
SVNRepository
,
SVNRepositoryFactory
Modifier and Type | Field and Description |
---|---|
static ISVNSession |
DEFAULT
The same as
KEEP_ALIVE . |
static ISVNSession |
KEEP_ALIVE
A session options implementation that simply allows to keep
a single connection alive for all data i/o.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getCommitMessage(SVNRepository repository,
long revision)
Retrieves the cached commit message for a particular revision.
|
boolean |
hasCommitMessage(SVNRepository repository,
long revision)
Checks if there's a commit message in cache for a particular repository
and revision.
|
boolean |
keepConnection(SVNRepository repository)
Says if the given SVNRepository object should use a single socket
connection (not to open/close a new one for each operation).
|
void |
saveCommitMessage(SVNRepository repository,
long revision,
java.lang.String message)
Caches a commit message for the given revision.
|
static final ISVNSession KEEP_ALIVE
static final ISVNSession DEFAULT
KEEP_ALIVE
. Left for backward
compatibility.boolean keepConnection(SVNRepository repository)
For examlpe, a session object may hold a number of SVNRepository object references knowing for everyone of them if it should keep a single connection or not.
repository
- an SVNRepository driverrepository
should use a single socket connection during the whole runtime,
false - to open/close a new
connection for each repository access operationvoid saveCommitMessage(SVNRepository repository, long revision, java.lang.String message)
repository
- an SVNRepository driver (to distinguish
that repository for which this message is actual)revision
- a revision numbermessage
- the commit message for revision
getCommitMessage(SVNRepository, long)
java.lang.String getCommitMessage(SVNRepository repository, long revision)
getCommitMessage()
to
check if there's a message in cache.repository
- an SVNRepository driver (to distinguish
that repository for which a commit message is requested)revision
- a revision numberrevision
saveCommitMessage(SVNRepository, long, String)
boolean hasCommitMessage(SVNRepository repository, long revision)
repository
- an SVNRepository driver (to distinguish
that repository for which a commit message is requested)revision
- a revision numberCopyright © 2004-2012 TMate Software Ltd. All Rights Reserved.