Skip to content

Instantly share code, notes, and snippets.

Some Dude ericacm

Block or report user

Report or block ericacm

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View genServerNames.scala
/**
* hosts(i) corresponds to serversKey(i) and serversVal(i)
*
* hosts are "hostname:port" (same as cluster nodeId).
* Note: port is the server's client port. port+1 and port+2 are used for serversVal.
*
* serversKey are "server.1" (see Zookeeper Admin Guide)
* serversVal are "hostname:nnnn:nnnn"
*/
case class ServerNames(hosts: IndexedSeq[String],
View serverInitialize.scala
class ZookeeperService(hostInfo: HostInfo)
extends ClusterService with EmbeddedZookeeper with Logging {
// For Standalone use the hostname, eg. localhost
// For Replicated use hostname:port,hostname:port,...
@Value("${zookeeperService.hosts:localhost}")
var hosts: String = _
// This node's ZK server client port
def clientPort: Int = hostInfo.appBasePort + 1
View rmdir.scala
def rmdir(dir: File) {
if (dir.isDirectory) {
for (entry <- dir.listFiles()) {
if (entry.isDirectory) {
rmdir(entry)
entry.delete()
}
entry.delete()
}
dir.delete()
View configureServer.scala
def configureServer(serverNames: ServerNames): () => Unit = {
// Recreate data directory
if (dataDir == null || dataDir == "") {
dataDir = "./zookeeper-" + nodeId
}
val dir = new File(dataDir)
log.info("(Re)creating data directory: " + dataDir)
rmdir(dir)
dir.mkdirs()
View EmbeddedZookeeper.scala
import org.apache.zookeeper.server.quorum.{QuorumPeerMain => ApacheQuorumPeerMain}
import org.apache.zookeeper.server.{ZooKeeperServerMain => ApacheZookeeperServerMain}
trait EmbeddedZookeeper {
this: ClusterService with Logging =>
@Value("${zookeeperService.server.enabled:false}")
var isServerEnabled: Boolean = _
// Location of server data directory
@ericacm
ericacm / Topic.scala
Last active Jun 25, 2017
Example Hibernate entity in Scala
View Topic.scala
/*
* Topic Entity
*/
@Entity
@Table(uniqueConstraints = Array(new UniqueConstraint(columnNames=Array("application_id", "name"))))
@NamedQueries(Array(
new NamedQuery(name="Topic.findAllByApplication", query="from Topic where application=:application"),
new NamedQuery(name="Topic.findByApplicationAndName", query="from Topic where application=:application and name=:name")
))
class Topic {
@ericacm
ericacm / CslConfig.scala
Last active Aug 31, 2016
Example of a Scala wrapper for Typesafe Config
View CslConfig.scala
import io.Source
import java.io.{FileInputStream, InputStream}
import com.typesafe.config.{ConfigException, Config, ConfigFactory}
import com.foo.dbfs.{FileSystem, Factory}
import com.foo.util.Logging
import com.foo.util.Environment
/**
* CslConfig manages CSL Configuration.
*
@ericacm
ericacm / Build.scala
Created Jan 27, 2013
Build.scala for ClusterSingletonManagerSpec testing
View Build.scala
import sbt._
import Keys._
import com.typesafe.sbt.SbtMultiJvm
import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.{ MultiJvm }
object ExampleBuild extends Build {
lazy val buildSettings = Defaults.defaultSettings ++ multiJvmSettings ++ Seq(
organization := "example",
version := "1.0",
View ZookeeperService.scala
class ZookeeperService(hostInfo: HostInfo)
extends ClusterService with EmbeddedZookeeper {
def nodeId: String = hostInfo.hostname + ":" + hostInfo.basePort + 1
@Value("${zookeeperService.client.enabled:false}")
var enabled: Boolean = _
@Value("${zookeeperService.leaderPath:/ls}")
var leaderPath: String = _
@ericacm
ericacm / nodeToWorker.scala
Last active Dec 11, 2015
Node to worker example
View nodeToWorker.scala
val participants = clusterService.clusterStatus.participants
val workers = participants.map(nodeIdToActorRef(_))
workers.foreach(_ ! nextWork())
You can’t perform that action at this time.