With some irrelevant parts taken out:

Transaction tx = Transaction.begin();
try {
   for (UUID id : artistIds) {
       MushArtist artist = maf.getArtistById(id);
       if (artist == null) {
           // replicate data from MusicBrainz WebService
           try {
               Query q = new Query();
               Includes inc = new Includes();
               inc.include("url-rels");
               Artist mbArtist = q.getArtistById(id, inc);
               artist = maf.copyArtist(mbArtist);
           } catch (WebServiceException e) {
               throw new ServletException(e);
           }
       }
   }
   tx.success();
} finally {
   tx.finish();
}

Philip

On 5/11/08, Mattias Persson <[EMAIL PROTECTED]> wrote:
> 2008/5/11 Philip Jägenstedt <[EMAIL PROTECTED]>:
>
> > On 5/11/08, Mattias Persson <[EMAIL PROTECTED]> wrote:
>  >> Allright, I'm pretty sure that it's all about the usage of
>  >>  tx.failure() (which is very seldom needed btw). In the first code
>  >>  snippet you call tx.failure() inside the for-loop and continues.
>  >
>  > No, I throw an Exception. updateWikipediaBlurb() isn't failing, it's
>  > the musicbrainz webservice that fails with a WebServiceException.
>  > After throwing a ServletException the finally block with tx.finish()
>  > ought to be run, after which the webserver returns HTTP 500 or
>  > similar.
>
> Well, somewhere inside that for-loop is a tx.failure(); followed by a
>  continue; statement. I was refering to that piece of code.
>
> >
>  >>  LuceneIndexService seems to ignore that fact. Then you continue to
>  >
>  > But I'm using NeoIndexService, how does that change matters?
>
> Since NeoIndexService only uses neo it should react properly to the
>  transaction failure/success, weird that it didn't in your case.
>
> >
>  > Philip
>  > _______________________________________________
>  > Neo mailing list
>  > [email protected]
>  > https://lists.neo4j.org/mailman/listinfo/user
>  >
>
> _______________________________________________
>  Neo mailing list
>  [email protected]
>  https://lists.neo4j.org/mailman/listinfo/user
>
>
_______________________________________________
Neo mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to