@Override public void revert() { wrapped.revert(); }
@Override public void accept(ResourceResolver r, String s) throws Exception { int remaining = retries; while (remaining > 0) { try { action.accept(r, s); return; } catch (Exception e) { if (remaining-- <= 0) { throw e; } else { r.revert(); r.refresh(); Thread.sleep(pausePerRetry); } } } } };
@Override public void accept(ResourceResolver r) throws Exception { int remaining = retries; while (remaining > 0) { try { action.accept(r); return; } catch (Exception e) { if (remaining-- <= 0) { throw e; } else { r.revert(); r.refresh(); Thread.sleep(pausePerRetry); } } } } };
if ( autoCommit ) { resolver.revert(); resolver.refresh(); mostRecentPE = pe;
/** * Creates a minute resource by retrying several times. If it fails even the last time it will throw an exception. */ private static Resource getOrCreateMinuteResource(Resource root) throws PersistenceException { final int retries = 2; for (int i=0; i < retries; i++) { try { return tryGetOrCreateMinutes(root); } catch (PersistenceException e) { log.warn("creating minute resource failed. retrying {} more times.", retries-i); } root.getResourceResolver().revert(); root.getResourceResolver().refresh(); } return tryGetOrCreateMinutes(root); }
@Override public boolean handle(final Resource rsrc) { try { final ValueMap vm = ResourceHelper.getValueMap(rsrc); final String newPath = configuration.getUnassignedJobsPath() + '/' + topicResource.getName() + rsrc.getPath().substring(topicResource.getPath().length()); final Map<String, Object> props = new HashMap<>(vm); props.remove(Job.PROPERTY_JOB_QUEUE_NAME); props.remove(Job.PROPERTY_JOB_TARGET_INSTANCE); props.remove(Job.PROPERTY_JOB_STARTED_TIME); try { ResourceHelper.getOrCreateResource(resolver, newPath, props); resolver.delete(rsrc); resolver.commit(); final String jobId = vm.get(ResourceHelper.PROPERTY_JOB_ID, String.class); configuration.getAuditLogger().debug("REUNASSIGN OK : {}", jobId); } catch ( final PersistenceException pe ) { logger.warn("Unable to unassigned job from " + rsrc.getPath() + " to " + newPath, pe); resolver.refresh(); resolver.revert(); } } catch (final InstantiationException ie) { // something happened with the resource in the meantime logger.warn("Unable to unassigned job from " + rsrc.getPath(), ie); resolver.refresh(); resolver.revert(); } return caps.isActive(); } });
final QueueConfigurationManager qcm = configuration.getQueueConfigurationManager(); if ( qcm == null ) { resolver.revert(); return;
} finally { if (resourceResolver!=null) { resourceResolver.revert(); resourceResolver.close(); resourceResolver = null;
private final void deleteAnnouncementsOf(final String instanceId) { ResourceResolver resourceResolver = null; try { resourceResolver = resourceResolverFactory .getServiceResourceResolver(null); ResourceHelper.deleteResource(resourceResolver, config.getClusterInstancesPath() + "/" + slingId + "/announcements/" + instanceId); resourceResolver.commit(); resourceResolver.close(); resourceResolver = null; } catch (LoginException e) { logger.error( "deleteAnnouncementsOf: could not log in administratively when deleting " + "announcements of instanceId="+instanceId+": " + e, e); } catch (PersistenceException e) { logger.error( "deleteAnnouncementsOf: got PersistenceException when deleting " + "announcements of instanceId="+instanceId+": " + e, e); } finally { if (resourceResolver!=null) { resourceResolver.revert(); resourceResolver.close(); resourceResolver = null; } } }
@Override public boolean handle(final JobImpl job) { final Resource jobResource = topicResource.getResourceResolver().getResource(job.getResourcePath()); // sanity check if ( jobResource != null ) { try { brr.delete(jobResource); } catch ( final PersistenceException ignore) { logger.error("Unable to remove job " + job, ignore); topicResource.getResourceResolver().revert(); topicResource.getResourceResolver().refresh(); } } return true; } });
} catch (Exception e) { log.error("Could not move reviewed asset [ {} ]", asset.getPath(), e); resourceResolver.revert(); resourceResolver.refresh();
public void commit() throws PersistenceException { setChangeCount(0); if (getResolver().isLive() && getResolver().hasChanges()) { try { getResolver().commit(); } catch (PersistenceException e) { getResolver().revert(); getResolver().refresh(); throw e; } finally { getPendingItems().clear(); } } }
public void commit() throws PersistenceException { setChangeCount(0); if (getResolver().isLive() && getResolver().hasChanges()) { try { getResolver().commit(); } catch (PersistenceException e) { getResolver().revert(); getResolver().refresh(); throw e; } finally { getPendingItems().clear(); } } }
resourceResolver.revert(); resourceResolver.refresh();
public static void deleteResource(Resource resource) throws PersistenceException { ResourceResolver resolver = resource.getResourceResolver(); String path = resource.getPath(); try { resolver.delete(resource); resolver.commit(); } catch (PersistenceException var10) { resolver.revert(); resolver.refresh(); resource = resolver.getResource(path); if (resource != null) { resolver.delete(resource); resolver.commit(); } } }