Opened 15 years ago

Last modified 15 years ago

#232 new defect

KaRMI should be compilable with jpc for automatic generation of marshaling routines

Reported by: hauma Owned by: hauma
Priority: normal Milestone: JPlater
Component: uka.transport Version: 1.09b
Severity: normal Keywords:


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 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.

Attachments (0)

Change History (3)

comment:1 Changed 15 years ago by hauma

Since KaRMI makes use of the Java 1.4 assert keyword, the resolution of this ticket heavily depends on ticket:221.

comment:2 Changed 15 years ago by hauma

There are name clashes for clone() methods of KaRMI classes with automatically generated implementations of the Patchable interface when eagerly generating marshaling code for all serializable classes (see ticket:235).

comment:3 Changed 15 years ago by hauma

  • Milestone changed from 2.0 to JPlater

This seems to have performance implications as shown in [2890].

Add Comment

Modify Ticket

Change Properties
Set your email in Preferences
as new The owner will remain hauma.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from hauma to the specified user. Next status will be 'new'.
The owner will be changed from hauma to anonymous. Next status will be 'assigned'.

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.