Guest User

Untitled

a guest
Dec 14th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. package com.rahasak.cminer.db
  2.  
  3. import java.io.File
  4.  
  5. import com.datastax.driver.core.{Cluster, _}
  6. import io.netty.handler.ssl.SslContextBuilder
  7. import org.apache.commons.io.FileUtils
  8.  
  9. trait CassandraCluster {
  10. lazy val cluster: Cluster = {
  11. val builder = Cluster.builder()
  12. builder.addContactPoint("10.4.1.5")
  13. builder.withPort(9042)
  14. addSsl(builder)
  15. addAuth(builder, "rahasak", "rahasak")
  16.  
  17. builder.build()
  18. }
  19. lazy val session: Session = cluster.connect()
  20.  
  21. // add ssl config
  22. def addSsl(builder: Cluster.Builder): Unit = {
  23. val pem = File.createTempFile("cacert", "pem")
  24. val is = getClass.getResourceAsStream("/ca.pem")
  25. FileUtils.copyInputStreamToFile(is, pem)
  26. is.close()
  27. val sslCtxBuilder = SslContextBuilder.forClient().trustManager(pem)
  28. builder.withSSL(new RemoteEndpointAwareNettySSLOptions(sslCtxBuilder.build()))
  29. }
  30.  
  31. // add cassandra username/password
  32. def addAuth(builder: Cluster.Builder, username: String, password: String): Unit = {
  33. builder.withCredentials(username, password)
  34. }
  35. }
Add Comment
Please, Sign In to add comment