Hi,

From: Ista Pouss [mailto:[email protected]]
> I observe jackrabbit throw a RuntimeException when a shutdown is
> interrupted.
> 
> I see in RepositoryImpl :
> 
>     public void shutdown() {
>         try {
>             shutdownLock.writeLock().acquire();
>         } catch (InterruptedException e) {
>             // TODO: Should this be a checked exception?
>             throw new RuntimeException("Shutdown lock could not be
> acquired", e);
>         }
> 
> 
> Perhaps best to rethrow an InterruptedException as in
> http://download.oracle.com/javase/tutorial/essential/concurrency/interr
> upt.html?
> 
> Why do you throw a RuntimeException ?

Adding a checked exception like InterruptedException (or RepositoryException, 
as that would fit better with the overall API) would break backwards 
compatibility of the JackrabbitRepository.shutdown() method defined in 
jackrabbit-api.

BR,

Jukka Zitting

Reply via email to