All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sandinh.couchbase.PlayCBCluster.scala Maven / Gradle / Ivy

The newest version!
package com.sandinh.couchbase

import java.lang
import javax.inject.{Inject, Singleton}

import play.api.inject.ApplicationLifecycle

import scala.concurrent.duration._
import com.sandinh.rx.Implicits._
import com.typesafe.config.Config

import scala.concurrent.Future

@Singleton
class PlayCBCluster @Inject() (cfg: Config, lifecycle: ApplicationLifecycle)
    extends CBCluster(cfg) {

  /** convention val for using with play.api.inject.ApplicationLifecycle#addStopHook */
  val disconnectFuture: () => Future[lang.Boolean] = () =>
    asJava
      .disconnect()
      .timeout(env.disconnectTimeout, MILLISECONDS)
      .toFuture

  lifecycle.addStopHook(disconnectFuture)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy