我希望有可能让演员入睡一会儿.演员应该决定自己要睡多久.由于Thread.sleep()不是推荐的方法,我想在akka中使用调度程序.因此我定义了一个演员是另一个演员可以注册被唤醒.
class Scheduler extends Actor {
def receive = {
case Sleep(duration) => context.system.scheduler.scheduleOnce(duration) {
sender ! Ring
}
}
}
Run Code Online (Sandbox Code Playgroud)
但发送方从不接收Ring消息.所以我的问题是
我正在使用 Maven(版本 2.2.1)和用 Groovy 编写的单元测试在 Eclipse(STS 版本 2.8.1.RELEASE)中开发一个 Java Web 项目。单元测试位于src/test/groovy 下。此外,我正在使用 Eclipse 的 m2eclipse 插件(1.0 版)和 Maven 中的 Gmaven 插件(1.3 版)。
在 Maven 中构建工作没有问题:groovy 文件被编译并作为测试执行。为了让单元测试在 Eclipse 中工作,我在项目中添加了 Groovy 特性,在配置构建路径下添加了文件夹 src/test/groovy ...并将输出文件夹设置为target/test-classes。
这一直有效,直到我在Maven -> Update Project Configuration...下更新项目配置。每次从 Eclipse 中的源文件夹中删除目录src/test/groovy后,我必须再次添加它并设置输出目录。
我是否遗漏了什么,或者为什么每次我更新项目配置时 Eclipse 都会删除我的源文件夹配置?
我的 GMaven 配置如下所示:
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.3</version>
<configuration>
<providerSelection>1.7</providerSelection>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)