Ticket #232 (new defect)
KaRMI should be compilable with jpc for automatic generation of marshaling routines
|Reported by:||hauma||Owned by:||hauma|
Currently, KaRMI with uka.transport is compiled in three phases. It is first compiled with javac. This requires to replace all declarations of the Transportable interface with java.io.Serializable. The resulting class files are read with the "transportc" retrofitting tool that generates code snippets with implementations of the marshaling methods, which are included into the original source code. In a third phase, the enriched source files are recompiled with javac to produce the transportable class files.
The procedure described above doese not work for classes with marshaling annotations as described in ticket:179 and ticket:231, because they are not understood by javac and therefore not included into the resulting class files. Even if this could be improved with Java 5 meta data annotations, a preliminary solution is to directly use jpc to translate the KaRMI classes which should become transportable. This is necessary, because some of the KaRMI classes depend on the annotations.