I have seemingly gotten this to work (but I said that last time, too) and
endure our fullest battery of tests, under the assumption of per-thread
"dataset"s, discarding them after a commit/end and creating a new one for
the thread when needed.

What the documentation needs, besides clear design guidelines for and a
minimal code example of multithreaded, transactional use, is a family of
diagrams explaining the scope, extent, uniqueness, and ownership of all the
kinds of data objects you can get (e.g., maps, datasets ...) with respect
to each other, databases, and threads.

Thanks again ----
Bernie

On Wed, Mar 28, 2012 at 6:53 PM, Paolo Castagna <
[email protected]> wrote:

> Andy Seaborne wrote:
> > On 28/03/12 18:39, Paolo Castagna wrote:
> >> Andy, are you reluctant to have TDBFactory.create(location) in the
> >> documentation and/or is there a plan (I am not aware of) to change the
> >> way to create Dataset objects in TDB? If that is the case, we could
> still
> >> have TDBFactory.create(location) in the documentation, but add a
> >> NOTE/WARNING
> >> that this can change.
> >
> > I was spending my time fixing the code.
> >
> > I'll update the "Multi-threaded use" section - it currently does not
> > make sense.
>
> I find the "Multi-threaded use" section more clear now, thanks:
>
> http://jena.staging.apache.org/jena/documentation/tdb/tdb_transactions.html#multi-threaded-use
>
> When a new user see this:
>
>  Location location = ... ;
>  Dataset dataset = ... ;
>
> It might not clear to him/her:
>
>  - how to create a Dataset?
>  - can a Dataset be reused?
>
> The section "Multi-threaded use" is below in the document and many would
> not even read stuff down there.
>
> This is IMHO less ambiguous:
>
>  Location location = ... ;
>  Dataset dataset = TDBFactory.create(location) ;
>
> Now, we also have a clear answer in the mailing list archives.
> Hopefully, Google and its ranking algorithm(s) will do the rest. ;-)
>
> Paolo
>
> >
> >     Andy
>
>

Reply via email to