我正在尝试将现有(演示)项目从 Akka.Net 1.0.8 升级到更新的版本(1.3.2 或其他)。
我一直坚持要加载 SQL 服务器持久性。我已采取以下步骤:
- 创建一个空白项目,并包含 Akka.Persistence.SqlServer 包及其所有依赖项
- 从这里复制 HOCON 配置示例:
- 将数据库连接字符串更改为现有数据库
- 将自动初始化设置为“开”
- 修复了 akka.persistence.journal-store.sql-server.plugin-dispatcher 中的双引号问题
- 创建了一个演员系统
- 检查 SQL 服务器配置是否存在我的连接字符串
结果:
- 1.3.2:连接字符串不存在(似乎是默认的回退配置),数据库中没有任何反应
- 1.0.8:存在连接字符串,配置似乎正确,表是在空数据库中创建的。
这是我使用的 HOCON 配置:
akka.persistence{
journal {
plugin = "akka.persistence.journal.sql-server"
sql-server {
# qualified type name of the SQL Server persistence journal actor
class = "Akka.Persistence.SqlServer.Journal.SqlServerJournal, Akka.Persistence.SqlServer"
# dispatcher used to drive journal actor
plugin-dispatcher = "akka.actor.default-dispatcher"
# connection string used for database access
connection-string = "Data Source=(LocalDB)\\MSSQLLocalDB;Initial Catalog=AkkaPersistence;Integrated Security=True"
# default SQL commands timeout
connection-timeout = 30s
# SQL server schema name to table corresponding with persistent journal
schema-name = dbo
# SQL server table corresponding with persistent journal
table-name = EventJournal
# should corresponding journal table be initialized automatically
auto-initialize = on
# timestamp provider used for generation of journal entries timestamps
timestamp-provider = "Akka.Persistence.Sql.Common.Journal.DefaultTimestampProvider, Akka.Persistence.Sql.Common"
# metadata table
metadata-table-name = Metadata
}
}
snapshot-store {
plugin = "akka.persistence.snapshot-store.sql-server"
sql-server {
# qualified type name of the SQL Server persistence journal actor
class = "Akka.Persistence.SqlServer.Snapshot.SqlServerSnapshotStore, Akka.Persistence.SqlServer"
# dispatcher used to drive journal actor
plugin-dispatcher = "akka.actor.default-dispatcher"
# connection string used for database access
connection-string = "Data Source=(LocalDB)\\MSSQLLocalDB;Initial Catalog=AkkaPersistence;Integrated Security=True"
# default SQL commands timeout
connection-timeout = 30s
# SQL server schema name to table corresponding with persistent journal
schema-name = dbo
# SQL server table corresponding with persistent journal
table-name = SnapshotStore
# should corresponding journal table be initialized automatically
auto-initialize = on
}
}
}
有没有办法解决HOCON配置的加载问题?