Skip to content

Cannot read list property from Spring #5

Description

@neg3ntropy

I want to set via spring properties the cassandra hosts for akka-persistence.

This is the reference.conf:

akka {
  persistence {
    journal {
        plugin = cassandra-journal
    }
  }
}

cassandra-journal {
    # this is the key I want to override:
    #contact-points = [ "host" ]
    table = events
}

It seems that there is no syntax to make a list come out of the spring property cassandra-journal.contact-points:

com.typesafe.config.ConfigException$WrongType: hardcoded value: contact-points has type STRING rather than LIST
    at com.typesafe.config.impl.SimpleConfig.findKeyOrNull(SimpleConfig.java:159) ~[config-1.3.0.jar:na]
    at com.typesafe.config.impl.SimpleConfig.findOrNull(SimpleConfig.java:170) ~[config-1.3.0.jar:na]
    at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:184) ~[config-1.3.0.jar:na]
    at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:189) ~[config-1.3.0.jar:na]
    at com.typesafe.config.impl.SimpleConfig.getList(SimpleConfig.java:252) ~[config-1.3.0.jar:na]
    at com.typesafe.config.impl.SimpleConfig.getHomogeneousUnwrappedList(SimpleConfig.java:323) ~[config-1.3.0.jar:na]
    at com.typesafe.config.impl.SimpleConfig.getStringList(SimpleConfig.java:381) ~[config-1.3.0.jar:na]
    at akka.persistence.cassandra.ConfigSessionProvider.lookupContactPoints(ConfigSessionProvider.scala:147) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.cassandra.ConfigSessionProvider.clusterBuilder(ConfigSessionProvider.scala:85) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.cassandra.ConfigSessionProvider.connect(ConfigSessionProvider.scala:42) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.cassandra.CassandraSession.akka$persistence$cassandra$CassandraSession$$setup$1(CassandraSession.scala:67) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.cassandra.CassandraSession$$anonfun$1.apply(CassandraSession.scala:91) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.cassandra.CassandraSession$$anonfun$1.apply(CassandraSession.scala:91) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.cassandra.CassandraSession.akka$persistence$cassandra$CassandraSession$$trySetup$1(CassandraSession.scala:118) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.cassandra.CassandraSession.retry(CassandraSession.scala:129) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.cassandra.CassandraSession.underlying(CassandraSession.scala:91) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.cassandra.CassandraSession.prepare(CassandraSession.scala:135) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.cassandra.journal.CassandraJournal.preparedSelectDeletedTo(CassandraJournal.scala:88) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.cassandra.journal.CassandraRecovery$class.asyncHighestDeletedSequenceNumber(CassandraRecovery.scala:77) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.cassandra.journal.CassandraJournal.asyncHighestDeletedSequenceNumber(CassandraJournal.scala:38) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.cassandra.journal.CassandraRecovery$class.asyncReadHighestSequenceNr(CassandraRecovery.scala:47) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.cassandra.journal.CassandraJournal.asyncReadHighestSequenceNr(CassandraJournal.scala:266) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.persistence.journal.AsyncWriteJournal$$anonfun$1$$anonfun$applyOrElse$6.apply(AsyncWriteJournal.scala:133) ~[akka-persistence_2.11-2.4.6.jar:na]
    at akka.persistence.journal.AsyncWriteJournal$$anonfun$1$$anonfun$applyOrElse$6.apply(AsyncWriteJournal.scala:133) ~[akka-persistence_2.11-2.4.6.jar:na]
    at akka.pattern.CircuitBreaker$State$class.materialize$1(CircuitBreaker.scala:298) ~[akka-actor_2.11-2.4.6.jar:na]
    at akka.pattern.CircuitBreaker$State$class.callThrough(CircuitBreaker.scala:315) ~[akka-actor_2.11-2.4.6.jar:na]
    at akka.pattern.CircuitBreaker$Closed$.callThrough(CircuitBreaker.scala:363) ~[akka-actor_2.11-2.4.6.jar:na]
    at akka.pattern.CircuitBreaker$Closed$.invoke(CircuitBreaker.scala:371) ~[akka-actor_2.11-2.4.6.jar:na]
    at akka.pattern.CircuitBreaker.withCircuitBreaker(CircuitBreaker.scala:115) ~[akka-actor_2.11-2.4.6.jar:na]
    at akka.persistence.journal.AsyncWriteJournal$$anonfun$1.applyOrElse(AsyncWriteJournal.scala:133) ~[akka-persistence_2.11-2.4.6.jar:na]
    at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:170) ~[scala-library-2.11.8.jar:na]
    at akka.actor.Actor$class.aroundReceive(Actor.scala:482) ~[akka-actor_2.11-2.4.6.jar:na]
    at akka.persistence.cassandra.journal.CassandraJournal.aroundReceive(CassandraJournal.scala:38) ~[akka-persistence-cassandra_2.11-0.14.jar:0.14]
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526) [akka-actor_2.11-2.4.6.jar:na]
    at akka.actor.ActorCell.invoke(ActorCell.scala:495) [akka-actor_2.11-2.4.6.jar:na]
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) [akka-actor_2.11-2.4.6.jar:na]
    at akka.dispatch.Mailbox.run(Mailbox.scala:224) [akka-actor_2.11-2.4.6.jar:na]
    at akka.dispatch.Mailbox.exec(Mailbox.scala:234) [akka-actor_2.11-2.4.6.jar:na]
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [scala-library-2.11.8.jar:na]
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [scala-library-2.11.8.jar:na]
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [scala-library-2.11.8.jar:na]
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [scala-library-2.11.8.jar:na]

Any help is appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions