Skip to content

Commit

Permalink
Fix to prevent rare Concurrent Modification Exceptions
Browse files Browse the repository at this point in the history
  • Loading branch information
javajeff committed Jul 17, 2017
1 parent f7d4296 commit a49e009
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
Expand Up @@ -83,7 +83,12 @@ public class RestHookSubscriptionDstu2Interceptor extends BaseRestHookSubscripti
* @param theOperation
*/
private void checkSubscriptions(IIdType idType, String resourceType, RestOperationTypeEnum theOperation) {
for (Subscription subscription : myRestHookSubscriptions) {
//avoid a ConcurrentModificationException by copying to an array
for (Object object : myRestHookSubscriptions.toArray()) {
if (object == null) {
continue;
}
Subscription subscription = (Subscription) object;
// see if the criteria matches the created object
ourLog.info("Checking subscription {} for {} with criteria {}", subscription.getIdElement().getIdPart(), resourceType, subscription.getCriteria());

Expand Down Expand Up @@ -121,6 +126,8 @@ private void checkSubscriptions(IIdType idType, String resourceType, RestOperati
}
}



/**
* Creates an HTTP Post for a subscription
*/
Expand Down
Expand Up @@ -82,7 +82,13 @@ public class RestHookSubscriptionDstu3Interceptor extends BaseRestHookSubscripti
* @param theOperation
*/
private void checkSubscriptions(IIdType idType, String resourceType, RestOperationTypeEnum theOperation) {
for (Subscription subscription : myRestHookSubscriptions) {
//avoid a ConcurrentModificationException by copying to an array
for (Object object : myRestHookSubscriptions.toArray()) {
//for (Subscription subscription : myRestHookSubscriptions) {
if (object == null) {
continue;
}
Subscription subscription = (Subscription) object;
// see if the criteria matches the created object
ourLog.info("Checking subscription {} for {} with criteria {}", subscription.getIdElement().getIdPart(), resourceType, subscription.getCriteria());

Expand Down

0 comments on commit a49e009

Please sign in to comment.