commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcus Klein (JIRA)" <>
Subject [jira] [Commented] (LANG-1049) SerializationUtils.deserialize() can not be used within OSGi
Date Fri, 30 Oct 2015 08:11:27 GMT


Marcus Klein commented on LANG-1049:

First you told me, that you don't want to implement this. Then you ignored this issue for
a whole year. Are you sure, that somebody can wait in this agile world to get something solved
for a whole year?

We solved the problem in October 2014 by using plain Java:

byte[] bytes = reader.readByteArray();
bais = new ByteArrayInputStream(bytes);
ois = new ObjectInputStream(bais);
Object object = ois.readObject();

This even works in OSGi, because the ClassLoader of the ObjectInputStream is aware of the
classes to deserialize because we use for that bundle buddy class loading. Replacing this
four lines with SerializationUtils.deserialize() is no convenience any more when class loading
kludge is needed.

> SerializationUtils.deserialize() can not be used within OSGi
> ------------------------------------------------------------
>                 Key: LANG-1049
>                 URL:
>             Project: Commons Lang
>          Issue Type: Bug
>          Components: lang.*
>    Affects Versions: 2.6
>         Environment: Equinox
>            Reporter: Marcus Klein
>            Priority: Blocker
> SerializationUtils.deserialize() throws a SerializationException if objects should be
deserialized that can not be resolved by OSGi classloader of org.apache.commons.lang bundle.
> To solve this problem I suggest to allow buddy classloading within commons.lang to allow
other bundles to register their class loaders.
> Please add
> Eclipse-BuddyPolicy: registered
> to the MANIFEST.MF of commons.lang to solve this problem.

This message was sent by Atlassian JIRA

View raw message