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.


Reply via email to