org.apache.cayenne.configuration.server

## Class ServerRuntime

- java.lang.Object
- - org.apache.cayenne.configuration.CayenneRuntime
  - - org.apache.cayenne.configuration.server.ServerRuntime

-     public class ServerRuntime
      extends CayenneRuntime

  An object representing Cayenne server-stack that connects directly to the database via JDBC. This is an entry point for user applications to access Cayenne, which encapsulates the dependency injection internals. The term "server" is used as opposed to ROP "client" (see `ClientRuntime`). Any application, desktop, server, etc. that has a direct JDBC connection should be using this runtime.
  Since:
    3.1

- - ### Field Summary

    - ### Fields inherited from class org.apache.cayenne.configuration.CayenneRuntime

      `injector, modules, threadInjector`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ServerRuntime(String[] configurationLocations, Module... extraModules)` Creates a server runtime configuring it with a standard set of services contained in `ServerModule`.
    `ServerRuntime(String configurationLocation, Module... extraModules)` Creates a server runtime configuring it with a standard set of services contained in `ServerModule`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `DataDomain` | `getDataDomain()` Returns the main runtime DataDomain.
    `DataSource` | `getDataSource(String dataNodeName)` Provides access to the JDBC DataSource assigned to a given DataNode.

    - ### Methods inherited from class org.apache.cayenne.configuration.CayenneRuntime

      `bindThreadInjector, getChannel, getContext, getContext, getInjector, getModules, getThreadInjector, mergeModules, mergeModules, shutdown`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ServerRuntime

          public ServerRuntime(String configurationLocation,
                               Module... extraModules)

      Creates a server runtime configuring it with a standard set of services contained in `ServerModule`. CayenneServerModule is created with provided 'configurationLocation'. An optional array of extra modules may contain service overrides and/or user services.

    - #### ServerRuntime

          public ServerRuntime(String[] configurationLocations,
                               Module... extraModules)

      Creates a server runtime configuring it with a standard set of services contained in `ServerModule`. CayenneServerModule is created with one or more 'configurationLocations'. An optional array of extra modules may contain service overrides and/or user services.

  - ### Method Detail

    - #### getDataDomain

          public DataDomain getDataDomain()

      Returns the main runtime DataDomain. Note that by default the returned DataDomain is the same as the main DataChannel returned by `CayenneRuntime.getChannel()`. Although users may redefine DataChannel provider in the DI registry, for instance to decorate this DataDomain with a custom wrapper.

    - #### getDataSource

          public DataSource getDataSource(String dataNodeName)

      Provides access to the JDBC DataSource assigned to a given DataNode. A null argument will work if there's only one DataNode configured.

      Normally Cayenne applications don't need to access DataSource or any other JDBC code directly, however in some unusual conditions it may be needed, and this method provides a shortcut to raw JDBC.

Copyright © 2001–2018 Apache Cayenne. All rights reserved.