Package

com.metamx.rainer

http

Permalink

package http

Visibility
  1. Public
  2. All

Type Members

  1. case class DictValue(s: String) extends Product with Serializable

    Permalink
  2. trait RainerMirrorServlet[ValueType] extends ScalatraServlet with RainerServletBase with Logging

    Permalink

    Mixin trait to make com.metamx.rainer.http.RainerServlet lightnight fast

    Mixin trait to make com.metamx.rainer.http.RainerServlet lightnight fast

    Uses com.metamx.rainer.CommitKeeper for read requests and com.metamx.rainer.CommitStorage for write requests

    Example

    implicit val deserialization = KeyValueDeserialization.usingJackson[ValueType](objectMapper)
    
    val keeper = new CommitKeeper[ValueType](zkClient, "/path/in/zk")
    val unerlyingStorage = new DbCommitStorage[ValueType](db, "table_name")
    val wrappedStorage = CommitStorage.keeperPublishing(unerlyingStorage, keeper)
    
    val keeperMirror: Var[Map[String, Commit[ValueType]]] = keeper.mirror()
    val mirrorRef = new AtomicReference[Map[Pipeline.Name, Commit[Pipeline]]]
    keeperMirror.changes.register(Witness(mirrorRef))
    
    val servlet = new RainerServlet[ValueType] with RainerMirrorServlet[ValueType] {
       override def commitStorage = wrappedStorage
       override def valueDeserialization = implicitly[KeyValueDeserialization[DictValue]]
       override def mirror = mirrorRef
  3. trait RainerServlet[ValueType] extends ScalatraServlet with RainerServletBase with Logging

    Permalink
  4. trait RainerServletBase extends AnyRef

    Permalink

Value Members

  1. object DictValue extends Serializable

    Permalink
  2. object Main

    Permalink
  3. object RainerServlet extends Serializable

    Permalink
  4. object config

    Permalink

Ungrouped