A Java RMI type repository is encoded as instance methods that are not normally packaged. SST provides two helpers, sstIncludeJavaClass:from: and sstIncludeAllJavaClassesFrom: that cause the appropriate field accessors and classes to be included in the packaged image. You should use the helpers for any application-provided type definitions.
In nondistributed applications, methods that have no senders can usually be
ignored and not dumped. This isn't true in distributed
applications as server objects generally provide interfaces which are invoked
remotely and never sent from the local image. These methods should not
be reduced! An easy way to accomplish this is to categorize these methods with
a special category (for example, SST-Remote API) and use the
Packager's category inclusion rules:
includeAllMethodsInCategoryNamed:inClassNamed:*.
These rules cause all methods defined in the given class with the given
category to be included in a packaged image. Note that this does not
include any such categorized methods in the class's superclasses.
SST provides two similar helper methods,
sstIncludeAllMethodsInCategoryNamed:withSuperclassesOfClassNamed:
and
sstIncludeAllMethodsInCategoryNamed:withSubclassesOfClassNamed:,
which include methods in the named category for all superclasses and
subclasses of the named class.
These helper methods are in SstPackagingInstructions and can be
sent to the rule collector, the argument to
packagingRulesFor:. Ensure that you load
SstPackagingInstructions into the development image, which allows
them to be used when packaging with the Server Workbench.