Ticket #212 (closed defect: fixed)
Add an introspection interface for replicated objects
| Reported by: | hauma | Owned by: | hauma |
|---|---|---|---|
| Priority: | normal | Milestone: | 2.0 |
| Component: | JP environment | Version: | 1.09b |
| Severity: | normal | Keywords: | |
| Cc: |
Description
Writing test cases for replicated classes and debugging an application using replicated objects can be hard without having the ability to introspect the replicated state. But direct access to the internal implementation of a replicated object should be avoided, because this is hidden behind the JavaParty transformation for replicated classes.
Proposal
The application should be able to acquire an introspection interface for one of its replicas. This diagnostics object should provide (filtered read-only) access to internals of the KaRMI implementation of replicated objects (without knowledge of the concrete superclass that is mixed into replicated classes by the JavaParty transformation).

In [2592], an introspection interface ReplicaDiagnostics is added in the new package uka.karo (pronounced KArlsruhe Replicated Objects). This new package bridges replicated classes in JavaParty and their KaRMI implementation counterparts in uka.karmi.rmi.server.
An introspection object for a replica can be acquired with DistributedRuntime.getDiagnostics(). This introspection object implements the ReplicaDiagnostics interface mentioned above and provides high-level read-only access to details of replicated objects.