Gld Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 41: Line 41:
               |
               |
               +-- jboss-datagrid-7
               +-- jboss-datagrid-7
                        |
                      |
                        +-- jboss-datagrid-7-1.0.0.jar
                      +-- jboss-datagrid-7-1.0.0.jar
                        |
                      |
                        +-- 7.0.0
                      +-- 7.0.0
                                |
                                +-- ...
                                        
                                        


</pre>
</pre>

Revision as of 14:32, 15 December 2016

Internal

Load Driver Instance

A load driver instance runs inside a Java virtual machine executing a control loop on the main thread.

Error Handling

The main LoadDriver loop is not supposed to throw any exception, all exception will be handled internally, and they will be logged at stderr or sent to the log file, depending on how the load driver logging is configured.

Store

The store is the ... used to save the key generated during a load run, so they can be accessed later. Most commonly, it is implemented as local file storage.

Store types: in-memory, hierarchical, etc. A fully qualified class name can also be specified - the corresponding key store will be instantiated if the implementation is found on the class path. Also see store configuration.

Extension

An extension contains a specific Service implementation that delegates to actual service libraries. The extension name should be as close as possible to the original product nomenclature.

Examples:

jboss-datagrid (this is how JBoss DataGrid distributions are named)

It is possible to have several extensions for the same product, if the product introduces incompatible API changes between (usually) major versions. This is the case for JBoss DataGrid, so there is a jboss-datagrid-6 and a jboss-datagrid-7 extension. The corresponding extension JARs are jboss-datagrid-6-<extension-version>.jar and jboss-datagrid-7-<extension-version>.jar.

In the rare cases where minor upgrades introduce incompatible API changes that renders a specific extension inoperable with that product version, a new extension can be released, and the name of the extension includes the name of the minor release of the product that introduced the incompatible API change. Hypothetical example: jboss-datagrid-7.5-<extension-version>.jar.

Target Service Client Libraries

The GLD extension JAR does never embed product client libraries. gld can be configured to use the client libraries available in the operational environment (see "Configuring Client Libraries Available in the Operational Environment )" or those shipped with the gld distribution, as separate JARs, the way they were released by the vendor (see "Specifying Client Libraries Shipped with the gld Distribution").

Client Libraries Shipped with the gld Distribution

$GLD_HOME
    |
    +--- extensions
              |
              +-- jboss-datagrid-7
                       |
                       +-- jboss-datagrid-7-1.0.0.jar
                       |
                       +-- 7.0.0
                                |
                                +-- ...