Packages

t

com.twitter.inject.server

TwitterServer

trait TwitterServer extends App with server.TwitterServer with DeprecatedLogging with Ports with Warmup

A com.twitter.server.TwitterServer that supports injection and com.twitter.inject.TwitterModule modules.

To use, override the appropriate @Lifecycle and callback method(s). Make sure when overriding

@Lifecycle

methods to call the super implementation, otherwise critical lifecycle set-up may not occur causing your server to either function improperly or outright fail.

If you are extending this trait, to implement your server, override the start() function, e.g.,

import com.twitter.inject.server.TwitterServer

object MyServerMain extends MyServer

class MyServer extends TwitterServer {
  override protected def start(): Unit = {
     // YOUR CODE HERE

     await(someAwaitable)
  }
}

Note, you do not need to await on the adminHttpServer as this is done for you by the framework.

Server Lifecycle: +-------------------------------------------------------------------------+

Life Cycle Method

Ancillary Function(s)

+-------------------------------------------------------------------------+

loadModules()

+-------------------------------------------------------------------------+

modules.postInjectorStartup()

foreach.singletonStartup()

+-------------------------------------------------------------------------+

postInjectorStartup()

resolveFinagleClientsOnStartup(),

setup()

+-------------------------------------------------------------------------+

warmup()

+-------------------------------------------------------------------------+

beforePostWarmup()

LifeCycle.Warmup.prebindWarmup()

+-------------------------------------------------------------------------+

postWarmup() (binds ext ports)

disable or announce admin server

+-------------------------------------------------------------------------+

afterpostwarmup()

LifeCycle.Warmup.warmupComplete()

+-------------------------------------------------------------------------+

setAppStarted()

+-------------------------------------------------------------------------+

run()

start()

+-------------------------------------------------------------------------+

Await on awaitables

+-------------------------------------------------------------------------+ @Lifecycle }}} occur causing your server to either function improperly or outright fail.

If you are extending this trait, to implement your server, override the start() function, e.g.,

import com.twitter.inject.server.TwitterServer

object MyServerMain extends MyServer

class MyServer extends TwitterServer {
  override protected def start(): Unit = {
     // YOUR CODE HERE

     await(someAwaitable)
  }
}

Note, you do not need to await on the adminHttpServer as this is done for you by the framework.

Server Lifecycle: +-------------------------------------------------------------------------+

Life Cycle Method

Ancillary Function(s)

+-------------------------------------------------------------------------+

loadModules()

+-------------------------------------------------------------------------+

modules.postInjectorStartup()

foreach.singletonStartup()

+-------------------------------------------------------------------------+

postInjectorStartup()

resolveFinagleClientsOnStartup(),

setup()

+-------------------------------------------------------------------------+

warmup()

+-------------------------------------------------------------------------+

beforePostWarmup()

LifeCycle.Warmup.prebindWarmup()

+-------------------------------------------------------------------------+

postWarmup() (binds ext ports)

disable or announce admin server

+-------------------------------------------------------------------------+

afterpostwarmup()

LifeCycle.Warmup.warmupComplete()

+-------------------------------------------------------------------------+

setAppStarted()

+-------------------------------------------------------------------------+

run()

start()

+-------------------------------------------------------------------------+

Await on awaitables

+-------------------------------------------------------------------------+

See also

Creating an Injectable TwitterServer

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TwitterServer
  2. Warmup
  3. Ports
  4. DeprecatedLogging
  5. Logging
  6. TwitterServer
  7. Lifecycle
  8. AdminHttpServer
  9. Hooks
  10. DtabFlags
  11. Linters
  12. Stats
  13. App
  14. Logging
  15. Slf4jBridge
  16. App
  17. Lifecycle
  18. CloseOnceAwaitably
  19. CloseOnceAwaitably0
  20. Awaitable
  21. ClosableOnce
  22. CloseOnce
  23. Closable
  24. AnyRef
  25. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final val MinGrace: Duration
    Definition Classes
    App
  5. def addAdminRoute(route: Route): Unit
    Definition Classes
    AdminHttpServer
  6. def addAdminRoutes(newRoutes: Seq[Route]): Unit
    Definition Classes
    AdminHttpServer
  7. def addDtabs(): Unit
    Definition Classes
    DtabFlags
  8. def addFrameworkModule(module: Module): Unit

    ONLY INTENDED FOR USE BY THE FRAMEWORK.

    ONLY INTENDED FOR USE BY THE FRAMEWORK.

    Default modules can be overridden in production by overriding methods in your App or Server.

    We take special care to make sure the module is not null, since a common bug is overriding the default methods using a val instead of a def

    Attributes
    protected[twitter]
    Definition Classes
    App
  9. def addFrameworkModules(modules: Module*): Unit

    ONLY INTENDED FOR USE BY THE FRAMEWORK.

    ONLY INTENDED FOR USE BY THE FRAMEWORK.

    Attributes
    protected[twitter]
    Definition Classes
    App
  10. def addFrameworkOverrideModules(modules: Module*): Unit

    ONLY INTENDED FOR USE BY THE FRAMEWORK.

    ONLY INTENDED FOR USE BY THE FRAMEWORK.

    Attributes
    protected[inject]
    Definition Classes
    App
  11. def adminBoundAddress: InetSocketAddress
    Definition Classes
    AdminHttpServer
  12. val adminHttpServer: ListeningServer
    Attributes
    protected
    Definition Classes
    AdminHttpServer
    Annotations
    @volatile()
  13. val adminPort: Flag[InetSocketAddress]
    Definition Classes
    AdminHttpServer
  14. def afterPostWarmup(): Unit

    After postWarmup, all external servers have been started, and we can now enable our health endpoint.

    After postWarmup, all external servers have been started, and we can now enable our health endpoint.

    Attributes
    protected
    Definition Classes
    TwitterServerApp
    Annotations
    @Lifecycle()
    Note

    You MUST call super.afterPostWarmup() in any overridden definition of this method. Failure to do so may cause your server to not completely startup.

    ,

    It is NOT expected that you block in this method as you will prevent completion of the server lifecycle.

    See also

    com.twitter.server.Lifecycle.Warmup#warmupComplete

    com.twitter.inject.app.App#afterPostwarmup

  15. def allowUndefinedFlags: Boolean
    Attributes
    protected
    Definition Classes
    App
  16. val appendFlag: Flag[Boolean]
    Attributes
    protected[this]
    Definition Classes
    Logging
  17. def args: Array[String]
    Definition Classes
    App
  18. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  19. val asyncFlag: Flag[Boolean]
    Attributes
    protected[this]
    Definition Classes
    Logging
  20. val asyncMaxSizeFlag: Flag[Int]
    Attributes
    protected[this]
    Definition Classes
    Logging
  21. def await(awaitables: Awaitable[_]*): Unit

    Callback to register multiple Awaitable instances for the server to await (block) on.

    Callback to register multiple Awaitable instances for the server to await (block) on.

    awaitables

    vararg list of Awaitable instances to register.

    Attributes
    protected
    See also

    Awaitable)

  22. def await[T <: Awaitable[_]](awaitable: T): Unit

    Callback to register an Awaitable instance for the server to await (block) on.

    Callback to register an Awaitable instance for the server to await (block) on.

    All registered Awaitable instances are entangled by the server such that if any registered Awaitable exits it will trigger all registered Awaitable instances to exit.

    awaitable

    an Awaitable instance to register.

    Attributes
    protected
    See also

    Awaiting Awaitables

  23. def beforePostWarmup(): Unit

    After warmup but before accepting traffic promote to old gen (which triggers gc).

    After warmup but before accepting traffic promote to old gen (which triggers gc).

    Attributes
    protected
    Definition Classes
    TwitterServerApp
    Annotations
    @Lifecycle()
    Note

    You MUST call super.beforePostWarmup() in any overridden definition of this method. Failure to do so may cause your server to not completely startup.

    ,

    It is NOT expected that you block in this method as you will prevent completion of the server lifecycle.

    See also

    com.twitter.server.Lifecycle.Warmup#prebindWarmup

    com.twitter.inject.app.App#beforePostWarmup

  24. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  25. final def close(deadline: Time): Future[Unit]
    Definition Classes
    CloseOnce → Closable
  26. def close(after: Duration): Future[Unit]
    Definition Classes
    Closable
  27. final def close(): Future[Unit]
    Definition Classes
    Closable
  28. final def closeFuture: Future[Unit]
    Attributes
    protected
    Definition Classes
    CloseOnce
  29. final def closeOnExit(closable: Closable): Unit
    Definition Classes
    App
  30. final def closeOnExitLast(closable: Closable): Unit
    Definition Classes
    App
  31. def closeOnce(deadline: Time): Future[Unit]
    Attributes
    protected
    Definition Classes
    App → CloseOnce
  32. def configureAdminHttpServer(server: Server): Server
    Attributes
    protected
    Definition Classes
    AdminHttpServer
  33. def configureLoggerFactories(): Unit

    com.twitter.logging.Logging.configureLoggerFactories() removes all added JUL handlers and adds only handlers defined by com.twitter.logging.Logging.loggerFactories.

    com.twitter.logging.Logging.configureLoggerFactories() removes all added JUL handlers and adds only handlers defined by com.twitter.logging.Logging.loggerFactories.

    Logging.configureLoggerFactories would thus remove the installed SLF4J BridgeHandler from com.twitter.server.TwitterServer. Therefore, we override with a no-op to prevent the SLF4J BridgeHandler from being removed.

    Attributes
    protected
    Definition Classes
    DeprecatedLogging → Logging
    Note

    Subclasses MUST override this method with an implementation that configures the com.twitter.logging.Logger if they want to use their configured logger factories via the util-logging style of configuration.

    See also

    jul-to-slf4j bridge

  34. def debug(marker: Marker, message: => Any, cause: Throwable): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  35. def debug(message: => Any, cause: Throwable): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  36. def debug(marker: Marker, message: => Any): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  37. def debug(message: => Any): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  38. def debugResult[T](message: => String)(fn: => T): T
    Attributes
    protected[this]
    Definition Classes
    Logging
  39. def defaultAdminPort: Int
    Definition Classes
    AdminHttpServer
  40. def defaultAppend: Boolean
    Definition Classes
    Logging
  41. def defaultCloseGracePeriod: Duration
    Definition Classes
    App
  42. def defaultFormatter: Formatter
    Definition Classes
    Logging
  43. def defaultLogLevel: Level
    Definition Classes
    Logging
  44. def defaultOutput: String
    Definition Classes
    Logging
  45. def defaultRollPolicy: Policy
    Definition Classes
    Logging
  46. def defaultRotateCount: Int
    Definition Classes
    Logging
  47. def disableAdminHttpServer: Boolean
    Attributes
    protected
    Definition Classes
    AdminHttpServer
  48. val dtabAddBaseFlag: Flag[Dtab]
    Definition Classes
    DtabFlags
  49. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  50. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  51. def error(marker: Marker, message: => Any, cause: Throwable): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  52. def error(message: => Any, cause: Throwable): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  53. def error(marker: Marker, message: => Any): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  54. def error(message: => Any): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  55. def errorResult[T](message: => String)(fn: => T): T
    Attributes
    protected[this]
    Definition Classes
    Logging
  56. def exitOnError(reason: String, details: => String): Unit
    Attributes
    protected
    Definition Classes
    App
  57. def exitOnError(reason: String): Unit
    Attributes
    protected
    Definition Classes
    App
  58. def exitOnError(throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    App
  59. def failfastOnFlagsNotParsed: Boolean

    <invalid inheritdoc annotation>

    <invalid inheritdoc annotation>

    Attributes
    protected
    Definition Classes
    App → App
    Note

    It is HIGHLY recommended that this value remains 'true'. This value SHOULD NOT be changed to 'false' without a very good reason.This method only remains overridable for legacy reasons.

  60. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  61. final def flag: app.Flags
    Definition Classes
    App
  62. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  63. val group: String
    Definition Classes
    Lifecycle
  64. def handle(clazz: Class[_ <: Handler]): Unit

    Utility to run a com.twitter.inject.utils.Handler.

    Utility to run a com.twitter.inject.utils.Handler. This is generally used for running a warmup handler in TwitterServer.warmup.

    Attributes
    protected
    See also

    com.twitter.inject.utils.Handler

  65. def handle[T <: Handler]()(implicit arg0: Manifest[T]): Unit

    Utility to run a com.twitter.inject.utils.Handler.

    Utility to run a com.twitter.inject.utils.Handler. This is generally used for running a warmup handler in TwitterServer.warmup.

    T

    - type parameter with upper-bound of com.twitter.inject.utils.Handler

    Attributes
    protected
    See also

    com.twitter.inject.utils.Handler

  66. def handlers: List[() => Handler]
    Definition Classes
    Logging
  67. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  68. def httpExternalPort: Option[Int]

    Returns the bound port representing the external HTTP interface of this server.

    Returns the bound port representing the external HTTP interface of this server.

    returns

    a defined Some(Int) representing the port of the external HTTP interface if defined and bound, None otherwise.

    Definition Classes
    Ports
  69. def httpsExternalPort: Option[Int]

    Returns the bound port representing the external HTTPS interface of this server.

    Returns the bound port representing the external HTTPS interface of this server.

    returns

    a defined Some(Int) representing the port of the external HTTPS interface if defined and bound, None otherwise.

    Definition Classes
    Ports
  70. def includeGlobalFlags: Boolean
    Attributes
    protected
    Definition Classes
    App
  71. val inferClassNamesFlag: Flag[Boolean]
    Attributes
    protected[this]
    Definition Classes
    Logging
  72. def info(marker: Marker, message: => Any, cause: Throwable): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  73. def info(message: => Any, cause: Throwable): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  74. def info(marker: Marker, message: => Any): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  75. def info(message: => Any): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  76. def infoResult[T](message: => String)(fn: => T): T
    Attributes
    protected[this]
    Definition Classes
    Logging
  77. final def init(f: => Unit): Unit
    Attributes
    protected
    Definition Classes
    App
  78. def injector: Injector
    Definition Classes
    App
  79. final def isClosed: Boolean
    Definition Classes
    CloseOnce
  80. def isDebugEnabled(marker: Marker): Boolean
    Attributes
    protected[this]
    Definition Classes
    Logging
  81. def isDebugEnabled: Boolean
    Attributes
    protected[this]
    Definition Classes
    Logging
  82. def isErrorEnabled(marker: Marker): Boolean
    Attributes
    protected[this]
    Definition Classes
    Logging
  83. def isErrorEnabled: Boolean
    Attributes
    protected[this]
    Definition Classes
    Logging
  84. def isInfoEnabled(marker: Marker): Boolean
    Attributes
    protected[this]
    Definition Classes
    Logging
  85. def isInfoEnabled: Boolean
    Attributes
    protected[this]
    Definition Classes
    Logging
  86. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  87. def isReady(implicit permit: CanAwait): Boolean
    Definition Classes
    CloseOnceAwaitably0 → Awaitable
  88. def isTraceEnabled(marker: Marker): Boolean
    Attributes
    protected[this]
    Definition Classes
    Logging
  89. def isTraceEnabled: Boolean
    Attributes
    protected[this]
    Definition Classes
    Logging
  90. def isWarnEnabled(marker: Marker): Boolean
    Attributes
    protected[this]
    Definition Classes
    Logging
  91. def isWarnEnabled: Boolean
    Attributes
    protected[this]
    Definition Classes
    Logging
  92. def javaModules: Collection[Module]

    Production modules from Java.

    Production modules from Java.

    Attributes
    protected
    Definition Classes
    App
  93. def javaOverrideModules: Collection[Module]

    ONLY INTENDED FOR USE IN TESTING.

    ONLY INTENDED FOR USE IN TESTING.

    Override modules from Java which redefine production bindings (only use overrideModules during testing) If you think you need this in your main server you are most likely doing something incorrectly.

    Attributes
    protected
    Definition Classes
    App
  94. val levelFlag: Flag[Level]
    Attributes
    protected[this]
    Definition Classes
    Logging
  95. def libraryName: String

    Name used for registration in the com.twitter.util.registry.Library

    Name used for registration in the com.twitter.util.registry.Library

    returns

    library name to register in the Library registry.

    Attributes
    protected
    Definition Classes
    TwitterServer → AdminHttpServer
  96. def linterRules: Seq[Rule]
    Definition Classes
    Linters
  97. def loadModules(): InstalledModules

    ONLY INTENDED FOR USE BY THE FRAMEWORK.

    ONLY INTENDED FOR USE BY THE FRAMEWORK.

    Attributes
    protected[inject]
    Definition Classes
    App
  98. def loadServiceBindings: Seq[Binding[_]]
    Attributes
    protected[this]
    Definition Classes
    App
  99. final def logger: Logger
    Attributes
    protected[this]
    Definition Classes
    Logging
  100. def loggerFactories: List[LoggerFactory]
    Definition Classes
    Logging
  101. final def loggerName: String
    Attributes
    protected[this]
    Definition Classes
    Logging
  102. final def main(): Unit

    DO NOT BLOCK

    DO NOT BLOCK

    Definition Classes
    TwitterServerApp
  103. final def main(args: Array[String]): Unit
    Definition Classes
    App
  104. def modules: Seq[Module]

    Production modules.

    Production modules.

    Attributes
    protected
    Definition Classes
    App
    Note

    Java users should prefer javaModules.

  105. def name: String
    Definition Classes
    App
  106. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  107. final def nonExitingMain(args: Array[String]): Unit
    Definition Classes
    App
  108. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  109. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  110. final def observe(event: Event)(f: => Unit): Unit
    Attributes
    protected
    Definition Classes
    Lifecycle
  111. final def observeFuture(event: Event)(f: Future[Unit]): Future[Unit]
    Attributes
    protected
    Definition Classes
    Lifecycle
  112. final def onExit(f: => Unit): Unit
    Attributes
    protected
    Definition Classes
    App
  113. final def onExitLast(f: => Unit): Unit
    Attributes
    protected
    Definition Classes
    App
  114. val outputFlag: Flag[String]
    Attributes
    protected[this]
    Definition Classes
    Logging
  115. def overrideModules: Seq[Module]

    ONLY INTENDED FOR USE IN TESTING.

    ONLY INTENDED FOR USE IN TESTING.

    Override modules which redefine production bindings (only use overrideModules during testing) If you think you need this in your main server you are most likely doing something incorrectly.

    Attributes
    protected
    Definition Classes
    App
  116. def parseArgs(args: Array[String]): Unit
    Attributes
    protected[this]
    Definition Classes
    App
  117. def postInjectorStartup(): Unit

    After creation of the Injector.

    After creation of the Injector. Before any other lifecycle methods.

    Attributes
    protected
    Definition Classes
    TwitterServerApp
    Annotations
    @Lifecycle()
    Note

    You MUST call super.postInjectorStartup() in any overridden definition of this method. Failure to do so may cause your server to not completely startup.

    ,

    It is NOT expected that you block in this method as you will prevent completion of the server lifecycle.

  118. def postWarmup(): Unit

    If you override this method to create and bind any external interface or to instantiate any awaitable it is expected that you add the Awaitable (or com.twitter.finagle.ListeningServer) to the list of Awaitables using the await[T <: Awaitable[_(awaitable: T): Unit function.

    If you override this method to create and bind any external interface or to instantiate any awaitable it is expected that you add the Awaitable (or com.twitter.finagle.ListeningServer) to the list of Awaitables using the await[T <: Awaitable[_(awaitable: T): Unit function.

    Attributes
    protected
    Definition Classes
    TwitterServerApp
    Annotations
    @Lifecycle()
    Note

    You MUST call super.postWarmup() in any overridden definition of this method. Failure to do so may cause your server to not completely startup.

    ,

    It is NOT expected that you block in this method as you will prevent completion of the server lifecycle.

  119. final def postmain(f: => Unit): Unit
    Attributes
    protected
    Definition Classes
    App
  120. def prebindWarmup(): Unit
    Definition Classes
    Warmup
  121. final def premain(f: => Unit): Unit
    Attributes
    protected
    Definition Classes
    App
  122. def ready(timeout: Duration)(implicit permit: CanAwait): TwitterServer.this.type
    Definition Classes
    CloseOnceAwaitably0 → Awaitable
  123. def resolveFinagleClientsOnStartup: Boolean

    Resolve all Finagle clients before warmup method called

    Resolve all Finagle clients before warmup method called

    Attributes
    protected
  124. def result(timeout: Duration)(implicit permit: CanAwait): Unit
    Definition Classes
    CloseOnceAwaitably0 → Awaitable
  125. val rollPolicyFlag: Flag[Policy]
    Attributes
    protected[this]
    Definition Classes
    Logging
  126. val rotateCountFlag: Flag[Int]
    Attributes
    protected[this]
    Definition Classes
    Logging
  127. def routes: Seq[Route]
    Definition Classes
    AdminHttpServer
  128. final def run(): Unit

    Attributes
    protected
    Definition Classes
    TwitterServerApp
    See also

    com.twitter.inject.server.TwitterServer#start

  129. final def runOnExit(runnable: Runnable): Unit
    Attributes
    protected
    Definition Classes
    App
  130. final def runOnExitLast(runnable: Runnable): Unit
    Attributes
    protected
    Definition Classes
    App
  131. def setup(): Unit

    Callback method which is executed specifically in the postInjectorStartup lifecycle phase of this server.

    Callback method which is executed specifically in the postInjectorStartup lifecycle phase of this server.

    This is AFTER the injector is created but BEFORE server warmup has been performed.

    This method is thus suitable for starting and awaiting on PubSub publishers or subscribers.

    The server is NOT signaled to be started until AFTER this method has executed thus it is imperative that this method is NOT BLOCKED as it will cause the server to not complete startup.

    This method can be used to start long-lived processes that run in separate threads from the main() thread. It is expected that you manage these threads manually, e.g., by using a com.twitter.util.FuturePool.

    If you override this method to instantiate any com.twitter.util.Awaitable it is expected that you add the com.twitter.util.Awaitable to the list of Awaitables using the await[T <: Awaitable[_]](awaitable: T): Unit function if you want the server to exit when the com.twitter.util.Awaitable exits.

    Any exceptions thrown in this method will result in the server exiting.

    Attributes
    protected
  132. lazy val shutdownTimer: Timer
    Attributes
    protected
    Definition Classes
    TwitterServer → App
  133. def start(): Unit

    Callback method which is executed after the injector is created and all lifecycle methods have fully completed but before awaiting on any Awaitables.

    Callback method which is executed after the injector is created and all lifecycle methods have fully completed but before awaiting on any Awaitables. It is NOT expected that you block in this method as you will prevent completion of the server lifecycle.

    The server is signaled as STARTED prior to the execution of this callback as all lifecycle methods have successfully completed and the admin and any external interfaces have started.

    This method can be used to start long-lived processes that run in separate threads from the main() thread. It is expected that you manage these threads manually, e.g., by using a com.twitter.util.FuturePool.

    Any exceptions thrown in this method will result in the server exiting.

    Attributes
    protected
  134. final def startupCompletionEvent: Event
    Attributes
    protected[twitter]
    Definition Classes
    TwitterServer → Warmup → TwitterServer
  135. def statsReceiver: StatsReceiver
    Definition Classes
    Stats
  136. def statsReceiverModule: Module

    Default com.twitter.inject.TwitterModule for providing a com.twitter.finagle.stats.StatsReceiver.

  137. final val suppressGracefulShutdownErrors: Boolean
    Definition Classes
    TwitterServer → App
  138. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  139. def thriftPort: Option[Int]

    Returns the bound port representing the external Thrift interface of this server.

    Returns the bound port representing the external Thrift interface of this server.

    returns

    a defined Some(Int) representing the port of the external Thrift interface if defined and bound, None otherwise.

    Definition Classes
    Ports
  140. def toString(): String
    Definition Classes
    AnyRef → Any
  141. def trace(marker: Marker, message: => Any, cause: Throwable): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  142. def trace(message: => Any, cause: Throwable): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  143. def trace(marker: Marker, message: => Any): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  144. def trace(message: => Any): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  145. def traceResult[T](message: => String)(fn: => T): T
    Attributes
    protected[this]
    Definition Classes
    Logging
  146. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  147. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  148. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  149. def warmup(): Unit

    Callback method run before TwitterServer.postWarmup, used for performing warm up of this server.

    Callback method run before TwitterServer.postWarmup, used for performing warm up of this server. Override, but do not call super.warmup() as you will trigger a lint rule violation.

    Any exceptions thrown in this method will result in the app exiting.

    Attributes
    protected
    Definition Classes
    TwitterServerApp
    See also

    HTTP Server Warmup

    Thrift Server Warmup

  150. def warmupComplete(): Unit
    Definition Classes
    Warmup
  151. def warn(marker: Marker, message: => Any, cause: Throwable): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  152. def warn(message: => Any, cause: Throwable): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  153. def warn(marker: Marker, message: => Any): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  154. def warn(message: => Any): Unit
    Attributes
    protected[this]
    Definition Classes
    Logging
  155. def warnResult[T](message: => String)(fn: => T): T
    Attributes
    protected[this]
    Definition Classes
    Logging

Deprecated Value Members

  1. lazy val log: Logger
    Definition Classes
    DeprecatedLogging → Logging
    Annotations
    @deprecated
    Deprecated

    (Since version 2017-10-06) For backwards compatibility only.

Inherited from Warmup

Inherited from Ports

Inherited from DeprecatedLogging

Inherited from logging.Logging

Inherited from server.TwitterServer

Inherited from Lifecycle

Inherited from AdminHttpServer

Inherited from Hooks

Inherited from DtabFlags

Inherited from Linters

Inherited from Stats

Inherited from App

Inherited from util.logging.Logging

Inherited from Slf4jBridge

Inherited from App

Inherited from Lifecycle

Inherited from CloseOnceAwaitably

Inherited from CloseOnceAwaitably0[Unit]

Inherited from Awaitable[Unit]

Inherited from ClosableOnce

Inherited from CloseOnce

Inherited from Closable

Inherited from AnyRef

Inherited from Any

Ungrouped