gpt4 book ai didi

Scala 参与者和持久性上下文

转载 作者:行者123 更新时间:2023-12-01 07:03:06 25 4
gpt4 key购买 nike

是否可以在 Scala Actor 每次执行操作时将持久性上下文注入(inject)它?我有一个双 Java/Scala spring 应用程序,我正在使用 spring 注释将我的 Java 服务和方法标记为事务性的。我想在我的 Scala Actor 中使用类似的功能。也就是说,actor 每次响应消息时都应该在单个事务中操作。有没有人尝试过类似的东西,或者有这样的例子吗?

最佳答案

为什么不通过注入(inject)到 actor 本身的 Dao trait 来封装持久访问。通过这种方式,您可以拥有一个与持久性机制本身分离的持久性参与者:

class DaoActor(val dao: Dao) extends Actor {

def act() = {
loop {
react {
case SaveTrade(trade) => dao.save(trade)
case ReadTrades(date) => dao.lookup(date) }
}
}
}

此外,您的 Dao 可以用 Java 编码,因此您可以在那里添加 @Transactional 注释。

关于Scala 参与者和持久性上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1550735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com