Change in ovirt-engine[engine_3.2]: core: Don't use commons collections clone method

juan.hernandez at redhat.com juan.hernandez at redhat.com
Mon Mar 11 14:54:29 UTC 2013


Juan Hernandez has submitted this change and it was merged.

Change subject: core: Don't use commons collections clone method
......................................................................


core: Don't use commons collections clone method

The commons collections package provides a mechanism to clone an object
doing serialization and then deserialization. Unfortunatelly the
implementation uses its own class loader (the class loader that loaded
commons collections itself) to load the class of the serialized object.
This means that the deserialization will fail if commons collections
happens to use be loaded by a class loader that doesn't have access to
the class being cloned. This is what happens if we try to use a JBoss
module instead of dropping commons-collections in the lib directory of
the ear.

This patch implements the clone method so that it uses the context class
loader if possible, this solves the issue with separate class loaders.

Change-Id: Ie563237017e19c9c1462f549c9211fd3c3779999
Signed-off-by: Juan Hernandez <juan.hernandez at redhat.com>
(cherry picked from commit c85128b91ddd69084f0d2cf64b8b069a646492ec)
---
M backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/collections/CopyOnAccessMap.java
1 file changed, 70 insertions(+), 9 deletions(-)

Approvals:
  Juan Hernandez: Verified; Looks good to me, approved


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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ie563237017e19c9c1462f549c9211fd3c3779999
Gerrit-PatchSet: 3
Gerrit-Project: ovirt-engine
Gerrit-Branch: engine_3.2
Gerrit-Owner: Juan Hernandez <juan.hernandez at redhat.com>
Gerrit-Reviewer: Juan Hernandez <juan.hernandez at redhat.com>



More information about the Engine-commits mailing list