trait App extends app.App with Slf4jBridge with util.logging.Logging
A com.twitter.app.App that supports injection and com.twitter.inject.TwitterModule modules.
It is not expected that you override @Lifecycle methods. If you do, take care to ensure that you call the super implementation, otherwise critical lifecycle set-up may not occur causing your application to either function improperly or outright fail.
Typically, you will only need to interact with the following methods: run -- callback executed after the injector is created and all @Lifecycle methods have completed.
- Alphabetic
- By Inheritance
- App
- Logging
- Slf4jBridge
- App
- Lifecycle
- CloseOnceAwaitably
- CloseOnceAwaitably0
- Awaitable
- ClosableOnce
- CloseOnce
- Closable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final val MinGrace: Duration
- Definition Classes
- App
- 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]
- def addFrameworkModules(modules: Module*): Unit
ONLY INTENDED FOR USE BY THE FRAMEWORK.
ONLY INTENDED FOR USE BY THE FRAMEWORK.
- Attributes
- protected[twitter]
- def addFrameworkOverrideModules(modules: Module*): Unit
ONLY INTENDED FOR USE BY THE FRAMEWORK.
ONLY INTENDED FOR USE BY THE FRAMEWORK.
- Attributes
- protected[inject]
- def afterPostWarmup(): Unit
Method to be be called after port warmup
Method to be be called after port warmup
- Attributes
- protected
- Annotations
- @Lifecycle()
- def allowUndefinedFlags: Boolean
- Attributes
- protected
- Definition Classes
- App
- def args: Array[String]
- Definition Classes
- App
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def beforePostWarmup(): Unit
Method to be called after successful warmup but before application initialization
Method to be called after successful warmup but before application initialization
- Attributes
- protected
- Annotations
- @Lifecycle()
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def close(deadline: Time): Future[Unit]
- Definition Classes
- CloseOnce → Closable
- def close(after: Duration): Future[Unit]
- Definition Classes
- Closable
- final def close(): Future[Unit]
- Definition Classes
- Closable
- final def closeFuture: Future[Unit]
- Attributes
- protected
- Definition Classes
- CloseOnce
- final def closeOnExit(closable: Closable): Unit
- Definition Classes
- App
- final def closeOnExitLast(closable: Closable): Unit
- Definition Classes
- App
- def closeOnce(deadline: Time): Future[Unit]
- Attributes
- protected
- Definition Classes
- App → CloseOnce
- def debug(marker: Marker, message: => Any, cause: Throwable): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def debug(message: => Any, cause: Throwable): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def debug(marker: Marker, message: => Any): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def debug(message: => Any): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def debugResult[T](message: => String)(fn: => T): T
- Attributes
- protected[this]
- Definition Classes
- Logging
- def defaultCloseGracePeriod: Duration
- Definition Classes
- App
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def error(marker: Marker, message: => Any, cause: Throwable): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def error(message: => Any, cause: Throwable): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def error(marker: Marker, message: => Any): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def error(message: => Any): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def errorResult[T](message: => String)(fn: => T): T
- Attributes
- protected[this]
- Definition Classes
- Logging
- def exitOnError(reason: String, details: => String): Unit
- Attributes
- protected
- Definition Classes
- App
- def exitOnError(reason: String): Unit
- Attributes
- protected
- Definition Classes
- App
- def exitOnError(throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- App
- 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.
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def flag: app.Flags
- Definition Classes
- App
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def includeGlobalFlags: Boolean
- Attributes
- protected
- Definition Classes
- App
- def info(marker: Marker, message: => Any, cause: Throwable): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def info(message: => Any, cause: Throwable): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def info(marker: Marker, message: => Any): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def info(message: => Any): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def infoResult[T](message: => String)(fn: => T): T
- Attributes
- protected[this]
- Definition Classes
- Logging
- final def init(f: => Unit): Unit
- Attributes
- protected
- Definition Classes
- App
- def injector: Injector
- final def isClosed: Boolean
- Definition Classes
- CloseOnce
- def isDebugEnabled(marker: Marker): Boolean
- Attributes
- protected[this]
- Definition Classes
- Logging
- def isDebugEnabled: Boolean
- Attributes
- protected[this]
- Definition Classes
- Logging
- def isErrorEnabled(marker: Marker): Boolean
- Attributes
- protected[this]
- Definition Classes
- Logging
- def isErrorEnabled: Boolean
- Attributes
- protected[this]
- Definition Classes
- Logging
- def isInfoEnabled(marker: Marker): Boolean
- Attributes
- protected[this]
- Definition Classes
- Logging
- def isInfoEnabled: Boolean
- Attributes
- protected[this]
- Definition Classes
- Logging
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isReady(implicit permit: CanAwait): Boolean
- Definition Classes
- CloseOnceAwaitably0 → Awaitable
- def isTraceEnabled(marker: Marker): Boolean
- Attributes
- protected[this]
- Definition Classes
- Logging
- def isTraceEnabled: Boolean
- Attributes
- protected[this]
- Definition Classes
- Logging
- def isWarnEnabled(marker: Marker): Boolean
- Attributes
- protected[this]
- Definition Classes
- Logging
- def isWarnEnabled: Boolean
- Attributes
- protected[this]
- Definition Classes
- Logging
- def javaModules: Collection[Module]
Production modules from Java.
Production modules from Java.
- Attributes
- protected
- 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
- def loadModules(): InstalledModules
ONLY INTENDED FOR USE BY THE FRAMEWORK.
ONLY INTENDED FOR USE BY THE FRAMEWORK.
- Attributes
- protected[inject]
- def loadServiceBindings: Seq[Binding[_]]
- Attributes
- protected[this]
- Definition Classes
- App
- final def logger: Logger
- Attributes
- protected[this]
- Definition Classes
- Logging
- final def loggerName: String
- Attributes
- protected[this]
- Definition Classes
- Logging
- def main(): Unit
DO NOT BLOCK
- final def main(args: Array[String]): Unit
- Definition Classes
- App
- def modules: Seq[Module]
Production modules.
Production modules.
- Attributes
- protected
- Note
Java users should prefer javaModules.
- def name: String
- Definition Classes
- App
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def nonExitingMain(args: Array[String]): Unit
- Definition Classes
- App
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def observe(event: Event)(f: => Unit): Unit
- Attributes
- protected
- Definition Classes
- Lifecycle
- final def observeFuture(event: Event)(f: Future[Unit]): Future[Unit]
- Attributes
- protected
- Definition Classes
- Lifecycle
- final def onExit(f: => Unit): Unit
- Attributes
- protected
- Definition Classes
- App
- final def onExitLast(f: => Unit): Unit
- Attributes
- protected
- Definition Classes
- App
- 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
- def parseArgs(args: Array[String]): Unit
- Attributes
- protected[this]
- Definition Classes
- App
- def postInjectorStartup(): Unit
Method to be called after injector creation
Method to be called after injector creation
- Attributes
- protected
- Annotations
- @Lifecycle()
- def postWarmup(): Unit
Method to be called after successful warmup
Method to be called after successful warmup
- Attributes
- protected
- Annotations
- @Lifecycle()
- final def postmain(f: => Unit): Unit
- Attributes
- protected
- Definition Classes
- App
- final def premain(f: => Unit): Unit
- Attributes
- protected
- Definition Classes
- App
- def ready(timeout: Duration)(implicit permit: CanAwait): App.this.type
- Definition Classes
- CloseOnceAwaitably0 → Awaitable
- def result(timeout: Duration)(implicit permit: CanAwait): Unit
- Definition Classes
- CloseOnceAwaitably0 → Awaitable
- def run(): Unit
Callback method executed after the injector is created and all lifecycle methods have fully completed.
Callback method executed after the injector is created and all lifecycle methods have fully completed.
The app is signaled as STARTED prior to the execution of this callback as all lifecycle methods have successfully completed.
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 app exiting.
- Attributes
- protected
- final def runOnExit(runnable: Runnable): Unit
- Attributes
- protected
- Definition Classes
- App
- final def runOnExitLast(runnable: Runnable): Unit
- Attributes
- protected
- Definition Classes
- App
- lazy val shutdownTimer: Timer
- Attributes
- protected
- Definition Classes
- App
- def suppressGracefulShutdownErrors: Boolean
- Attributes
- protected
- Definition Classes
- App
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def trace(marker: Marker, message: => Any, cause: Throwable): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def trace(message: => Any, cause: Throwable): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def trace(marker: Marker, message: => Any): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def trace(message: => Any): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def traceResult[T](message: => String)(fn: => T): T
- Attributes
- protected[this]
- Definition Classes
- Logging
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def warmup(): Unit
Callback method run before postWarmup
Callback method run before postWarmup
- Attributes
- protected
- def warn(marker: Marker, message: => Any, cause: Throwable): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def warn(message: => Any, cause: Throwable): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def warn(marker: Marker, message: => Any): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def warn(message: => Any): Unit
- Attributes
- protected[this]
- Definition Classes
- Logging
- def warnResult[T](message: => String)(fn: => T): T
- Attributes
- protected[this]
- Definition Classes
- Logging