river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Firmstone <j...@zeus.net.au>
Subject Re: River Core Platform [was: Re: sketches]
Date Sun, 07 Feb 2010 23:36:27 GMT
Sim IJskes - QCG wrote:
> Peter Firmstone wrote:
>> Christopher Dolan wrote:
>>> Honest question: considering that Sun end-of-lifed Java 1.5 back in
>>> October 2009, what's the value in continuing to support the Java 1.4
>>> platform in River?
>>>   
>> Honest Answer: Just a few billion blue ray players, set top boxes and 
>> multifunction network printers and any other device that run Java cdc.
>
> Shall we go for a full use of JDK6 facilities, with a pre-processor to 
> create a (or multiple) minimal version?
Might as well, you might want to consider supporting 1.4 with any proxy 
code, your choice though.  Feel free to use generics.  You can still use 
@Override too.  In other words, the server side service is free to use 
those features.

We need to consider what the minimum requirements are to consume or 
export a Jini service. (Protocols, classes) and make that the core 
platform, that has to support Java 1.4.

 From there it would be recommended to make smart proxy classes and 
Service Interfaces Java 1.4 compliant, however use later Language 
classes where it makes sense to do so.  We need to annotate the class 
version (bytecode) and Package version into MarshalledInstance to ensure 
non compatible clients and servers aren't mixed.

Cheers,

Peter.

>
> We can prototype this with a ant/sed/awk script, We could strip the 
> @overrides, selectively include JDK6 dependend facilities, etc.
>
Wouldn't worry about it just yet, lets see how we go first.

Retrotanslator can convert Java 5 Bytecode, however it needs custom 
Object Marshallers Input Output Streams written for serialization 
support.  It does support Annotations, Generics and the Concurrent 
Utilities.

 JSR14 seems are more sensible option to begin with.

> Really, i do sometimes miss something like the C preprocessor, in 
> order to postprocess for different deployment scenarios. A //#ifdef 
> maybe?
>
> Gr. Sim
>



Mime
View raw message