Lagom框架/持久读取端/ Cassandra / DataStax /表未配置

时间:2016-05-15 06:15:07

标签: cassandra datastax cqrs typesafe lagom

我成功编译了http://www.lagomframework.com/documentation/1.0.x/ReadSide.html

中的代码示例

这是关于CQRS架构的读取方。

唯一的问题是:它没有运行。

看起来配置问题......此时Lagom的官方文档非常不完整。

错误说:

function fixDiv() {
    var $div = $(".fixme");
    if ($(window).scrollTop() > $div.data("top")) { 
        $div.css({'position': 'fixed', 'top': '0', 'width': '100%'}); 
    }
    else {
        $div.css({'position': 'static', 'top': 'auto', 'width': '100%'});
    }
}

$('.fixme').data("top", $('.fixme').offset().top); // set original position on load
$(window).scroll(fixDiv);

好吧,代码中有一行执行cassandra查询,选择&从&插入到名为postsummary的表。

我认为这些表是默认自动创建的。无论如何,有疑问,我只是将这一行添加到我的application.conf:

java.util.concurrent.CompletionException: java.util.concurrent.ExecutionException: com.datastax.driver.core.exceptions.InvalidQueryException: unconfigured table postsummary

仍然......,重启后没有运气,同样的错误。

也许它与启动期间的其他错误有关,即:

cassandra-journal.keyspace-autocreate = true
cassandra-journal.tables-autocreate = true

我想...好吧,也许它正在尝试联系9042(默认的cassandra端口),而默认情况下,lagom会在4000处启动嵌入式cassandra。

所以我尝试在application.conf中添加这些行:

[warn] a.p.c.j.CassandraJournal - Failed to connect to Cassandra and initialize. It will be retried on demand. Caused by: ServiceLocator is not bound

仍然......,没有运气,同样的错误。

任何人都可以帮我解决它。我需要运行这个例子,这是使用lagom进行CQRS研究的关键部分。

有些参考:https://github.com/lagom/lagom/blob/master/persistence/src/main/resources/reference.conf

以下是一些截图:

enter image description here

enter image description here

顺便说一句,我通过在代码中创建表来解决它,从事件处理器的prepare方法调用此方法:

cassandra-journal.contact-points = ["127.0.0.1"]
cassandra-journal.port = 4000
lagom.persistence.read-side.cassandra.contact-points = ["127.0.0.1"]
lagom.persistence.read-side.cassandra.port = 4000

谢谢! 拉嘎

1 个答案:

答案 0 :(得分:1)