### Eclipse Workspace Patch 1.0 #P jackrabbit-core Index: src/main/java/org/apache/jackrabbit/core/observation/ObservationManagerImpl.java =================================================================== --- src/main/java/org/apache/jackrabbit/core/observation/ObservationManagerImpl.java (revision 831906) +++ src/main/java/org/apache/jackrabbit/core/observation/ObservationManagerImpl.java (working copy) @@ -87,19 +87,22 @@ * belongs to. * @param itemMgr {@link org.apache.jackrabbit.core.ItemManager} of the passed * Session. - * @throws NullPointerException if session or itemMgr - * is null. + * @throws NullPointerException if dispatcher, session + * or itemMgr is null. */ public ObservationManagerImpl( ObservationDispatcher dispatcher, SessionImpl session, ItemManager itemMgr, ClusterNode clusterNode) { + if (dispatcher == null) { + throw new NullPointerException("dispatcher"); + } if (session == null) { throw new NullPointerException("session"); } if (itemMgr == null) { throw new NullPointerException("itemMgr"); } - + this.dispatcher = dispatcher; this.session = session; this.itemMgr = itemMgr; Index: src/main/java/org/apache/jackrabbit/core/RepositoryImpl.java =================================================================== --- src/main/java/org/apache/jackrabbit/core/RepositoryImpl.java (revision 831906) +++ src/main/java/org/apache/jackrabbit/core/RepositoryImpl.java (working copy) @@ -381,8 +381,13 @@ throw e; } finally { if (!succeeded) { - // repository startup failed, clean up... - shutdown(); + try { + // repository startup failed, clean up... + shutdown(); + } catch (Throwable t) { + // shutdown() likely to fail now, as startup was broken... + log.error("In addition to startup fail, another problem occurred while shutting down the repository again.", t); + } } } }