Vojtech Szocs has posted comments on this change.

Change subject: userportal,webadmin: update branding manager
......................................................................


Patch Set 5: (1 inline comment)

....................................................
File 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/branding/BrandingManager.java
Line 80:     /**
Line 81:      * Get an instance of the {@code BrandingManager} with the default 
ETC_DIR.
Line 82:      * @return A {@code BrandingManager}
Line 83:      */
Line 84:     public static synchronized BrandingManager getInstance() {
Yes, but this leads to double-checked locking, see 
http://www.ibm.com/developerworks/java/library/j-dcl/index.html

"The problem with double-checked locking is that there is no guarantee it will 
work on single or multi-processor machines."

I agree with Michael that putting "synchronized" on method means we pay the 
cost of synchronization even when "instance" is already initialized, but due to 
issues with double-checked locking, it's still a feasible option.

Other than synchronizing on method, we could also have "static final instance" 
field, but this way we cannot control "instance" creation within the unit test.
Line 85:         if (instance == null) {
Line 86:             instance = new BrandingManager();
Line 87:         }
Line 88:         return instance;


-- 
To view, visit http://gerrit.ovirt.org/15579
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I87f5a6684701c9d5f603bf79459a3a5b6614b24f
Gerrit-PatchSet: 5
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alexander Wels <aw...@redhat.com>
Gerrit-Reviewer: Alexander Wels <aw...@redhat.com>
Gerrit-Reviewer: Alon Bar-Lev <alo...@redhat.com>
Gerrit-Reviewer: Einav Cohen <eco...@redhat.com>
Gerrit-Reviewer: Greg Sheremeta <gsher...@redhat.com>
Gerrit-Reviewer: Michael Pasternak <mpast...@redhat.com>
Gerrit-Reviewer: Vojtech Szocs <vsz...@redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to