Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save lillesand/1313032 to your computer and use it in GitHub Desktop.
Save lillesand/1313032 to your computer and use it in GitHub Desktop.
Constretto concurrency issue
private <T> void injectConfiguration(T objectToConfigure) {
injectFields(objectToConfigure);
injectMethods(objectToConfigure);
boolean found = false;
for (WeakReference<Object> configuredObject : configuredObjects) {
if (configuredObject.get() == objectToConfigure) {
found = true;
break;
}
}
if (!found) {
this.configuredObjects.add(new WeakReference<Object>(objectToConfigure));
}
}
private <T> void injectConfiguration(T objectToConfigure) {
injectFields(objectToConfigure);
injectMethods(objectToConfigure);
boolean found = false;
for (WeakReference<Object> configuredObject : new ArrayList<WeakReference<Object>>(configuredObjects) {
if (configuredObject.get() == objectToConfigure) {
found = true;
break;
}
}
if (!found) {
this.configuredObjects.add(new WeakReference<Object>(objectToConfigure));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment