我们在前面介绍Actor系统时说过每个Actor都是其子Actor的管理员,并且每个Actor定义了发生错误时的管理策略,策略一旦定义好,之后不能修改,就像是Actor系统不可分割的一部分。实用错误处理首先我们来看一个例子来显示一种处理数据存储错误的情况,这是现实中一个应用可能出现的典型错误。当然实际的应用可能针对数据源不存在时有不同的处理,这里我们使用重新连接的处理方法。下面是例子的源码,比较长...
分类:
其他好文 时间:
2014-09-01 12:41:55
阅读次数:
165
上周,《实现领域驱动设计》(Implementing Domain-Driven Design)一书的作者Vaughn Vernon,发布了Dotsero,这是一个使用C#编写的、基于.NET的Actor模型工具包,它的实现参考了AkkaAPI。Akka工具包是对Actor模型的一种实现,目前为止已...
分类:
Web程序 时间:
2014-08-26 13:37:26
阅读次数:
323
Exception in thread "main" java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet;
at akka.actor.ActorCell$.(ActorCell.scala:336)
at akka.actor.Act...
分类:
其他好文 时间:
2014-08-20 22:41:43
阅读次数:
982
我所知道的Scala持久层框架有: 1、Slick? 2、Squeryl 3、Anorm(Play的持久层) 4、ScalaActiveRecord?(基于Squeryl之上) 5、circumflex-orm web框架的话 1、Spray(build on akka,完全异步,非阻塞,非常有...
分类:
其他好文 时间:
2014-08-16 21:13:41
阅读次数:
180
1、Async library ? ? ?SIP-14 Futures and Promises ? ? ?http://docs.scala-lang.org/sips/completed/futures-promises.html ? ? ?http://en.wikipedia.org/wiki/Futures_and_promises 2、Akka ? ? ...
分类:
其他好文 时间:
2014-08-14 11:06:58
阅读次数:
200
Akka支持Actor消息循环处理部分的热切换,调用context.become方法可以使用新的消息循环处理替换当前的消息处理器,被替换的消息处理器被压到一个栈结构,支持消息处理器的出栈和入栈。注:但Actor重启时,它的消息循环处理恢复到初始的行为。become方法的参数类型为部分函数PartialFunction[Any, Unit],例如:1import akka.actor.Actor2i...
分类:
其他好文 时间:
2014-08-13 10:33:56
阅读次数:
255
学习使用AKKA 断断续续有一年了。目前还是习惯用java来写akka下面的程序。对于原生的scala还是没有时间和兴趣去学习它。 毕竟学习一门语言需要兴趣和时间的。
AKKA学习资源还是不算丰富。 看过最多的就是官方的编程手册,还有就是AKKA Essentials 这两本。 自己动手写的程序还不算多,也放在github上面。 另外,在akka编译配置、升级版本上,以及部署多台服务...
分类:
其他好文 时间:
2014-08-13 03:36:35
阅读次数:
246
上一篇我们简单介绍了Actor系统,说明了Actor之间存在着层次关系,它也是构成Actor应用的最基本的单位。本篇介绍Actor本身的一些基本概念。一个Actor包含了State(状态),Behavior(行为),一个Mailbox(邮箱)和Supervisor Strategy (管理员策略),所有这些都封装在一个Actor引用之中(Actor Reference)。Actor 引用一个Act...
分类:
其他好文 时间:
2014-07-31 09:54:56
阅读次数:
457
非阻塞的程序 应该保障的一些特性 : 等待无关性wait-free:能确保每次的调用在有限的步数之内完成,不管其他调用的步骤有多少。杀掉几个线程 锁无关性lock-free:执行这段程序的某些线程会被延迟,但必须确保至少...
分类:
其他好文 时间:
2014-07-22 09:10:35
阅读次数:
374