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:
Code Block | ||||
---|---|---|---|---|
| ||||
<sca enableByValue="true"/>
|