2015-04-03 39 views
3

我是cassandra數據庫的新手。我使用play2.2.1和mySQl數據庫,但嘗試遷移到cassandra數據庫。我正在使用cassandra-2.1.3。雖然我可以輕鬆連接到mySQl db,該文件由application.conf文件中的以下行提供。 db.default.driver = com.mysql.jdbc.Driver db.default.url = 「的jdbc:mysql的://127.0.0.1:3306/MyDatabase的」如何使用幻像DSL將播放框架連接到cassandra數據庫?

但是我沒有得到任何想法,以什麼應該是cassandra的db.default.url。我已經給了db.default.driver = com.datastax.driver.core

編輯: 我已經集成了DSL幻象中我的發揮應用A https://github.com/websudos/phantom,但網頁似乎並沒有告訴任何有關連接到數據庫。

編輯:

對於所有的新來者,要看是Getting started with Phantom這也解釋瞭如何連接到Cassandra的更詳細的正確的地方。

回答

2

datastax java驅動程序當前不支持JDBC(雖然打開了pull request),但即使在驅動程序上使用JDBC可能也不是與cassandra接口的理想方式。

您應該仍然能夠將Cassandra整合到您的遊戲應用程序中,而不會有太多麻煩。這裏有幾個引用可能會有所幫助:

+0

我已經在我的播放應用程序https://github.com/websudos/phantom中集成了幻像DSL,但該頁面似乎沒有告訴連接到數據庫的任何內容。 – 2015-04-04 15:42:53

+0

它看起來像幻影將使用從datastax javadriver隱式提供的會話。因此,如果您在使用Phantom之前在代碼中的某處創建了一個Session對象,則它應該都是隱式工作的。這裏有一個關於如何創建Session對象的簡單例子:https://github.com/datastax/java-driver/blob/2.1.5/driver-examples/osgi/src/main/java/com/datastax/driver/OSGi的/ IMPL /活化劑。Java的#L43-L44 – 2015-04-04 19:28:59

6

幻影預打包連接器,以便您可以連接到數據庫,而做0工作。您所需要的只是擴展連接器實現,並告訴它與相關IP和端口一起使用哪個鍵空間。

要簡單地連接到本地主機:

import com.websudos.phantom.connectors.SimpleCassandraConnector 


trait MyConnector extends SimpleCassandraConnector { 
    implicit val keySpace = KeySpace("my_app") 
} 

現在所有剩下的就是混入這個特質到你所有的表單身,你就大功告成了。檢查連接器模塊以獲取更多關於如何使用更高級的部署甚至基於服務發現的連接器的信息。

更新

隨着幻影1.9.0,連接器框架進行了完全重新編寫。

import com.outworkers.phantom.connectors.{ ContactPoint, ContactPoints } 

object Defaults { 
    val keySpace = ContactPoint.local.keySpace("myapp") 
    // val Connector = ContactPoints(Seq("localhost", "10.4.2.2"), 9042) 
} 

trait Connector extends Defaults.keySpace.Connector { 
    implicit val keySpace: KeySpace = KeySpace("my_app") 
}