Packaging RMI applications
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.
Last modified date: 01/29/2015