c

com.lightbend.lagom.scaladsl.server

LagomApplication

abstract class LagomApplication extends BuiltInComponentsFromContext with ProvidesAdditionalConfiguration with ProvidesJsonSerializerRegistry with LagomServerComponents with LagomServiceClientComponents with LagomConfigComponent with AkkaManagementComponents

A Lagom application.

A Lagom service should subclass this in order to wire together a Lagom application.

This includes the Lagom server components (which builds and provides the Lagom router) as well as the Lagom service client components (which allows implementing Lagom service clients from Lagom service descriptors).

There are two abstract defs that must be implemented, one is LagomServerComponents.lagomServer, the other is LagomServiceClientComponents.serviceLocator. Typically, the lagomServer component will be implemented by an abstract subclass of this class, and will bind all the services that this Lagom application provides. Meanwhile, the serviceLocator component will be provided by mixing in a service locator components trait in LagomApplicationLoader, which trait is mixed in will vary depending on whether the application is being loaded for production or for development.

Source
LagomApplicationLoader.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LagomApplication
  2. AkkaManagementComponents
  3. LagomConfigComponent
  4. LagomServiceClientComponents
  5. TopicFactoryProvider
  6. LagomServerComponents
  7. MetricsServiceComponents
  8. ProvidesJsonSerializerRegistry
  9. ProvidesAdditionalConfiguration
  10. BuiltInComponentsFromContext
  11. BuiltInComponents
  12. AkkaTypedComponents
  13. AkkaComponents
  14. I18nComponents
  15. AnyRef
  16. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new LagomApplication(context: LagomApplicationContext)

    context

    The application context.

Abstract Value Members

  1. abstract def lagomServer: LagomServer
    Definition Classes
    LagomServerComponents
  2. abstract def serviceLocator: ServiceLocator
    Definition Classes
    LagomServiceClientComponents
  3. abstract def wsClient: WSClient
    Definition Classes
    LagomServiceClientComponents

Concrete Value Members

  1. lazy val actorSystem: ActorSystem
    Definition Classes
    LagomApplicationAkkaManagementComponentsLagomServiceClientComponentsMetricsServiceComponents → AkkaTypedComponents → AkkaComponents
  2. def additionalConfiguration: AdditionalConfiguration

    Define the additional configuration to add to the application.

    Define the additional configuration to add to the application.

    Classes that override this must combine the configuration they add with the configuration from the super implementation. Failure to do this will prevent different integrations from working with each other.

    When overriding, the overridden file should be a def, so as to ensure multiple components can all override it. Lagom will only invoke this method once from a lazy val, so it will effectively be calculated once.

    Definition Classes
    ProvidesAdditionalConfiguration
  3. lazy val application: Application
    Definition Classes
    BuiltInComponents
  4. def applicationLifecycle: ApplicationLifecycle
    Definition Classes
    BuiltInComponentsFromContext → BuiltInComponents → AkkaComponents
  5. lazy val circuitBreakerMetricsProvider: CircuitBreakerMetricsProvider
    Definition Classes
    LagomServiceClientComponents
  6. lazy val classicActorSystemProvider: ClassicActorSystemProvider
    Definition Classes
    AkkaComponents
  7. def config: Config
    Definition Classes
    LagomConfigComponent
  8. lazy val controllerComponents: ControllerComponents
    Definition Classes
    BuiltInComponentsFromContext
  9. lazy val cookieSigner: CookieSigner
    Definition Classes
    BuiltInComponents
  10. lazy val coordinatedShutdown: CoordinatedShutdown
    Definition Classes
    AkkaComponents
  11. lazy val csrfTokenSigner: CSRFTokenSigner
    Definition Classes
    BuiltInComponents
  12. lazy val defaultActionBuilder: DefaultActionBuilder
    Definition Classes
    BuiltInComponents
  13. lazy val defaultBodyParser: BodyParser[AnyContent]
    Definition Classes
    BuiltInComponents
  14. lazy val defaultExceptionSerializer: ExceptionSerializer
    Definition Classes
    LagomServiceClientComponents
  15. def devContext: Option[DevContext]
    Definition Classes
    BuiltInComponentsFromContext → BuiltInComponents
  16. def environment: Environment
    Definition Classes
    BuiltInComponentsFromContext → BuiltInComponents → AkkaComponents → I18nComponents
  17. implicit lazy val executionContext: ExecutionContext
    Definition Classes
    AkkaComponents
  18. lazy val fileMimeTypes: FileMimeTypes
    Definition Classes
    BuiltInComponents
  19. lazy val httpConfiguration: HttpConfiguration
    Definition Classes
    BuiltInComponents → I18nComponents
  20. lazy val httpErrorHandler: HttpErrorHandler
    Definition Classes
    BuiltInComponents
  21. val httpFilters: Seq[EssentialFilter]
    Definition Classes
    LagomApplication → BuiltInComponents
  22. lazy val httpRequestHandler: HttpRequestHandler
    Definition Classes
    BuiltInComponents
  23. lazy val injector: Injector
    Definition Classes
    BuiltInComponents
  24. lazy val lagomServerBuilder: LagomServerBuilder
  25. lazy val langs: Langs
    Definition Classes
    I18nComponents
  26. implicit lazy val materializer: Materializer
    Definition Classes
    AkkaComponents
  27. lazy val messagesApi: MessagesApi
    Definition Classes
    I18nComponents
  28. lazy val metricsServiceBinding: LagomServiceBinding[MetricsService]
    Definition Classes
    MetricsServiceComponents
  29. def optionalJsonSerializerRegistry: Option[JsonSerializerRegistry]

    The optionally provided serializer registry.

    The optionally provided serializer registry.

    Note that this can also be exploited to allow multiple traits to contribute to the serializer registry rather than provide one, by checking whether the super implementation also provides one, and concatenating with that if it does. To do that, the override must be a def, so that it can be subsequently overridden by other mixed in traits.

    Definition Classes
    ProvidesJsonSerializerRegistry
  30. def optionalTopicFactory: Option[TopicFactory]
    Definition Classes
    TopicFactoryProvider
  31. lazy val playBodyParsers: PlayBodyParsers
    Definition Classes
    BuiltInComponents
  32. lazy val requestFactory: RequestFactory
    Definition Classes
    BuiltInComponents
  33. lazy val router: Router
    Definition Classes
    LagomServerComponents
  34. lazy val scaladslWebSocketClient: ScaladslWebSocketClient
    Definition Classes
    LagomServiceClientComponents
  35. implicit lazy val scheduler: Scheduler
    Definition Classes
    AkkaTypedComponents
  36. lazy val serviceClient: ServiceClient
    Definition Classes
    LagomServiceClientComponents
  37. lazy val serviceInfo: ServiceInfo
    Definition Classes
    LagomServerComponents
  38. lazy val serviceResolver: ServiceResolver
    Definition Classes
    LagomServiceClientComponents
  39. lazy val tempFileCreator: TemporaryFileCreator
    Definition Classes
    BuiltInComponents
  40. lazy val tempFileReaper: TemporaryFileReaper
    Definition Classes
    BuiltInComponents
  41. def topicPublisherName: Option[String]

    The name of the topic publisher.

    The name of the topic publisher.

    Since topic publishers don't actually provide any components, they just consume a LagomServer and publish the topics they find there, this can be used to signal that a topic publisher has been provided to publish topics, so that the LagomServerComponents can detect a misconfiguration where one hasn't been provided.

    returns

    The name of the topic publisher that has published topics, if one has been provided.

    Definition Classes
    TopicFactoryProvider
  42. def webCommands: WebCommands
    Definition Classes
    BuiltInComponents

Deprecated Value Members

  1. lazy val configuration: Configuration
    Definition Classes
    LagomApplicationAkkaManagementComponentsLagomConfigComponent → BuiltInComponentsFromContext → BuiltInComponents → AkkaComponents → I18nComponents
    Annotations
    @deprecated
    Deprecated

    (Since version 1.4.0) prefer config using typesafe Config instead

  2. lazy val javaContextComponents: JavaContextComponents
    Definition Classes
    BuiltInComponents
    Annotations
    @deprecated
    Deprecated

    (Since version 2.8.0) Use the corresponding methods that provide MessagesApi, Langs, FileMimeTypes or HttpConfiguration

  3. def sourceMapper: Option[SourceMapper]
    Definition Classes
    BuiltInComponents
    Annotations
    @deprecated
    Deprecated

    (Since version 2.7.0) Use devContext.map(_.sourceMapper) instead