小编spi*_*den的帖子

如何从Java中的Java List创建scala.collection.immutable.Seq?

我正在尝试让Akka进入我的Java项目,并且我已经挂了一个来自Scala的Seq类型的小问题.我能够将我的ActorRef的Java List转换为scala.collection.Seq,但我尝试使用的Akka API需要scala.collection.immutable.Seq.我该怎么做?

码:

static class Router extends UntypedLoadBalancer {
    private final InfiniteIterator<ActorRef> workers;

    public Router(List<ActorRef> workers) {
        Seq workerSeq = asScalaBuffer(workers);

        // how to get from the scala.collection.Seq above to the instance of
        // scala.collection.immutable.Seq required by CyclicIterator below?
        this.workers = new CyclicIterator<ActorRef>();
    }

    public InfiniteIterator<ActorRef> seq() {
        return workers;
    }
}
Run Code Online (Sandbox Code Playgroud)

java scala akka

25
推荐指数
1
解决办法
2万
查看次数

使用actor的可中断循环的模式

我正在设计一个消耗来自无穷无尽的流中的项目的actor,并且需要一种方法来控制它何时开始和停止使用消息.是否有与演员一起实现这样的可中断循环的通用模式?我在考虑让我的演员向自己发送消息.像(伪Scala)的东西:

class Interruptible extends Actor {
  val stream: Stream
  val running: boolean

  def receive = {
    case "start" => {
      running = true
      consumeItem
    }

    case "stop" => {
      running = false
    }

    case "consumeNext" => consumeItem
  }

  def consumeItem {
    if (running) {
      stream.getItem
      this ! "consumeNext"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这是最好的办法吗?

谢谢!

scala actor akka

7
推荐指数
1
解决办法
1571
查看次数

Java的"键值编码"

在Apple上的Objective-C中,有一种称为"键值编码"的东西,它允许您使用类似于文件系统路径的字符串遍历对象图.有一个非正式的协议(即接口),允许对象根据他们要求的"密钥"返回值.例如,默认是返回由键命名的字段的值,而像NSDictionaries这样的关系集合可以实现更有趣的行为.

伪代码示例:

foo.bar = new baz();
foo.bar.mymap = new map();
foo.bar.mymap['bom'] = 2;

foo.valueForKeyPath("bar.mymap.bom") # 2

Java有这样的东西吗?这很容易实现,但我想我先看看.

java key-value-coding

6
推荐指数
1
解决办法
3341
查看次数

Java中的基本自定义Akka Supervisor

我正在尝试使用Akka实现具有重试语义的作业.如果一个worker在其工作期间失败(抛出异常),除了重新启动它之外,我想重新提交它正在处理的工作.

我正在尝试的方法是一个自定义主管,但我无法让它在失败时重启工作者.例如,使用Akka 1.1.3运行以下代码,您将永远不会看到重新启动消息:

  import akka.actor.ActorRef;
  import akka.actor.UntypedActor;
  import akka.actor.UntypedActorFactory;
  import akka.config.Supervision;

  import static akka.actor.Actors.actorOf;
  import static java.lang.System.out;

  public class Supervisor extends UntypedActor {
      private ActorRef worker;

      public static class Worker extends UntypedActor {
          @Override
          public void onReceive(Object message) {
              throw new RuntimeException("croak");
          }

          public void preRestart(Object reason) {
              out.println("supervisor is restarting me!");
          }

          public void postRestart(Object reason) {
              out.println("supervisor restarted me.");
          }
      }

      public static void main(String[] args) {
          ActorRef supervisor = actorOf(new UntypedActorFactory() {
              public UntypedActor create() …
Run Code Online (Sandbox Code Playgroud)

java akka

5
推荐指数
1
解决办法
2027
查看次数

在开发模式之外调试GWT应用程序?

我似乎记得有人看到有人在屏幕录像中将Java调试器附加到已编译/部署的GWT应用程序中.这可能吗?我发现一些稀疏的配置是一个特殊的"调试模块",它扩展了你的常规模块,但细节很薄.

谢谢!

gwt

4
推荐指数
1
解决办法
1725
查看次数

GWT开发模式性能问题?

我正在使用他们的内置支持在Intellij中开展一个小型GWT项目.开发模式功能,但性能非常不稳定,我只能在获得OutOfMemoryError(使用-Xmx512M)之前重新加载应用程序几次.

在开发模式下我应该能够期待什么?其他人是否经历了一致的重装时间和长时间运行流程?

我用IDEA 10.0.3运行GWT 2.2.我的应用程序很小,但我确实包括其他几个模块,如Activity,Place,Resources,Guava Collect + Base,UiBinder,Gin Inject等.我相信在添加许多依赖项之前,性能问题已经开始了.

谢谢!

gwt intellij-idea

3
推荐指数
1
解决办法
1329
查看次数

标签 统计

akka ×3

java ×3

gwt ×2

scala ×2

actor ×1

intellij-idea ×1

key-value-coding ×1