You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by Laurent Pellegrino <la...@gmail.com> on 2011/11/30 13:05:48 UTC

TDB StoreConnection#release

Hi all,

It seems that when a StoreConnection is released, if there are still
some active transactions, an exception is thrown. Internally,
StoreConnection#release(Location) calls
StoreConnection#expel(Location, boolean) which is declared as private
and that has as second parameter a force option. Is it not possible
for an end user to perform a release with this force option? Is there
an option to force a wait by necessity when a call to release is
perform (e.g. to forbid new transactions and to wait the end of the
active transactions).

Kind Regards,

Laurent

Re: TDB StoreConnection#release

Posted by Andy Seaborne <an...@apache.org>.
On 30/11/11 12:05, Laurent Pellegrino wrote:
> Hi all,
>
> It seems that when a StoreConnection is released, if there are still
> some active transactions, an exception is thrown. Internally,
> StoreConnection#release(Location) calls
> StoreConnection#expel(Location, boolean) which is declared as private
> and that has as second parameter a force option. Is it not possible
> for an end user to perform a release with this force option? Is there
> an option to force a wait by necessity when a call to release is
> perform (e.g. to forbid new transactions and to wait the end of the
> active transactions).
>
> Kind Regards,
>
> Laurent

Hi Laurent,

There's no support currently for a gradual shut down of either the whole 
transaction subsystem or an individual location.  It's not an 
unreasonable thing to want though.

StoreConnection#expel(Location, boolean) is private because it will mess 
up if called with "true" and a new transactional DB is connected.  It 
needs some help to do a graceful release of a location.

An app can call StoreConenction.getTransMgr().activeTransactions to at 
least know if there are any outstanding transactions.

	Andy