Got it . Thx a lot.

On Wed, Dec 28, 2011 at 2:39 AM, Alexander Kitaev <[email protected]> wrote:

> Hello,
>
> SVN*Client API methods are not thread safe. You should use separate
> instance of SVNClientManager per thread. You may use ThreadLocal
> class:
>
>    private static ThreadLocal<SVNClientManager> manager = new
> ThreadLocal<SVNClientManager>();
>
>    public void method() {
>        if (manager.get() == null) {
>            manager.set(SVNClientManager.newInstance());
>        }
>        SVNClientManager m = manager.get();
>        m.getWCClient().doGetFileContent(...);
>        ...
>     }
>
>
> Alexander Kitaev,
> TMate Software,
> http://subgit.com/ - Svn to Git Migration!
> http://svnkit.com/ - Java [Sub]Versioning Library!
> http://hg4j.com/ - Java Mercurial Library!
> http://sqljet.com/ - Java SQLite Library!
>
>
>
> On 26 December 2011 04:25, Jeffrey4l <[email protected]> wrote:
> > Hi all ,
> >
> > Recently, I have a requirement which will download multi files from the
> SVN
> > repository. But I don't want to use checkout, because the files may not
> very
> > much. The checkout is a waste of time. So only the files needed is
> > exported/catted.
> >
> > Concurrent is faster. But I don't know whether these method is thread
> safe?
> > Or could you give me any other advise?
> >
> > Here is the code snippet. This method will be call in multi threads.
> >
> >  public void doCat(SVNURL sourceUrl, SVNRevision pegRevision, SVNRevision
> > revision, File target) throws SVNException, FileNotFoundException{
> >         SVNWCClient wcClient = _manager.getWCClient();
> >         FileOutputStream fos = null;
> >         try{
> >             fos = new FileOutputStream(target);
> >             LOG.debug(String.format("executing 'cat' for revision %d of
> url
> > %s pegged at revision %d", revision.getNumber(), sourceUrl,
> > pegRevision.getNumber()));
> >             wcClient.doGetFileContents(sourceUrl, pegRevision, revision,
> > true, fos);
> >         }
> >         finally{
> >             ScmiUtil.safeClose(fos);
> >         }
> >     }
> >
> >
> > ________________________________
> > View this message in context: Is doExport and doCat method thread safe?
> > Sent from the SVNKit - Users mailing list archive at Nabble.com.
>
>


-- 
Lei Zhang

China: Bldg A1, Chang Yuan Tian Di, Suite 1906 NO. 18 Suzhoujie Ave.
Haidian District, Beijing 100080
M: +86 15210307837 | EMail: [email protected] | MSN:
[email protected]

Reply via email to