The Runtime Image
The Runtime Image
The Fabric3 Server runtime image is organized in the following way:
/bin | Â | Â | Â | Â | Startup modules | Â |
/lib | Â | Â | Â | Â | Modules required to start the runtime host | Â |
/boot | Â | Â | Â | Â | Modules required for the runtime bootstrap and primordial system services | Â |
/host | Â | Â | Â | Â | Libraries shared between the runtime and application (e.g. web services annotations) | Â |
/extensions | Â | Â | Â | Â | Extension modules that are able to be loaded by all runtime instances | Â |
/runtimes | Â | Â | Â | Â | Specific runtime instance configuration is hosted by default under this directory | Â |
 | <runtime-name> |  |  |  | top level directory for a runtime configuration |  |
 |  | /config |  |  | Contains systemConfig.xml for configuring the runtime and extensions |  |
 |  | /deploy |  |  | File system deploy directory for the controller and single-VM runtimes |  |
 |  | /repository |  |  |  |  |
 |  |  | /runtime |  | Extensions only loaded for the runtime image |  |
 |  |  | /user |  | User contributions (only populated on the controller and single-VM runtimes) |  |
 |  | /data |  |  | Persistent data directory for a runtime instance (e.g. transaction log) |  |
 |  | /tmp |  |  | Temporary data and artifact cache for a runtime instance |  |
Enabling Pass-By-Value Semantics
By default, Fabric3 is configured to use pass-by-reference semantics when invoking remotable services collocated with their clients. This avoids the overhead of parameter copying. In some cases, this may not be desirable, for example, if a service directly modifies parameter data that should not be visible to clients. To avoid this, the runtime can be configured to follow SCA by-value semantics by setting the @enableByValue
attribute to true on the SCA setting in serviceConfig.xml:
<sca enableByValue="true"/>