Yes, however the ObjectStream used, also annotates other information,
like superclasses and version metadata to ensure the correct ClassLoader
is selected locally.
Object Streams are not easily changed, MarshalOutputStream annotates a
codebase string, however this could be much more flexible, if we could
annotate a second string that contained key value pairs separated by
pipe symbols.
This would allow any future changes to be easily accommodated, such as
version information and superclasses, this is similar to system properties.
CodebaseAccessClassLoader could be passed a Map<String,String> that
contains additional information. Then we can standardise certain
properties that can be defined along with codebase annotations. This
will assist to accommodate future modular environments.
We need to increment the stream version, then continue to use the old
stream for now, however when the time comes, the existing releases will
be compatible with the new stream version, so we could see a few
releases before we need the ability to use it.
So a MarshalOutputStream would utilise the old stream version by default
for a few releases, while MarshalInputStream is capable of reading both
stream versions. Then at some time in the future, we set
MarshalOutputStream to use the new stream version by default and users
have to set a property if they want MarshalOutputStream to revert back
to the existing protocol.
Obviously the stream properties will have to be standardised over time,
but it will enable us to do so without again needing to revise the
stream protocol, then CodebaseAccessClassLoader doesn't need to change
again either.
Regards,
Peter.
On 23/08/2012 1:17 AM, GREGG WONDERLY wrote:
So a quick look at this, tells me that the JBoss resolver is position with the
duties that the CodebaseClassAccess interface is at. It allows the resolution
of classes to be resolved to a class loader which is appropriate for the
application environment.
Gregg
On Aug 22, 2012, at 7:36 AM, Peter Firmstone<[email protected]> wrote:
This is relevant to OSGi and jboss as well as Jigsaw, now delayed to Java 9.
https://community.jboss.org/wiki/ModularSerialization
I strongly suggest anyone interested in River read this.
Regards,
Peter.