我正在尝试按照以下示例路由远程演员:
http://doc.akka.io/docs/akka/snapshot/scala/routing.html#Remotely_Deploying_Routees
这是代码:
val system = ActorSystem("RemoteSystem", ConfigFactory.load.getConfig("remotecreation"))
val addresses = Seq(AddressFromURIString("akka://ActorApplication@172.17.100.224:2552"),
AddressFromURIString("akka://ActorApplication@172.17.100.232:2552"))
val worker = system.actorOf(Props[authNetActor.AuthNetActorMain].withRouter(RemoteRouterConfig(RoundRobinRouter(5), addresses)))
但是,我收到一条错误消息,指出其中一个服务器 IP 地址未经过身份验证。
这是错误(来自:172.17.100.224:2552):
[ERROR] [09/20/2012 18:13:02.192] [ActorApplication-akka.actor.default-dispatcher-11 [akka://ActorApplication/remote/RemoteSystem@172.17.100.231:2554/user/$a/c1] peer not authenticated
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:371)
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:390)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:562)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:776)
at dispatch.BlockingHttp$class.dispatch$BlockingHttp$$execute(Http.scala:45)
at dispatch.BlockingHttp$$anonfun$execute$1$$anonfun$apply$3.apply(Http.scala:58)
at dispatch.BlockingHttp$$anonfun$execute$1$$anonfun$apply$3.apply(Http.scala:58)
at scala.Option.getOrElse(Option.scala:108)
at dispatch.BlockingHttp$$anonfun$execute$1.apply(Http.scala:58)
at dispatch.Http.pack(Http.scala:25)
at dispatch.BlockingHttp$class.execute(Http.scala:53)
at dispatch.Http.execute(Http.scala:21)
at dispatch.HttpExecutor$class.x(executor.scala:36)
at dispatch.Http.x(Http.scala:21)
at dispatch.HttpExecutor$class.when(executor.scala:50)
at dispatch.Http.when(Http.scala:21)
at dispatch.HttpExecutor$class.apply(executor.scala:60)
at dispatch.Http.apply(Http.scala:21)
at models.AuthorizeNet$.AuthorizeNetDPM(main.scala:187)
at authNetActor.AuthNetActorMain$$anonfun$receive$1.apply(AuthNetActor.scala:68)
at authNetActor.AuthNetActorMain$$anonfun$receive$1.apply(AuthNetActor.scala:12)
at akka.actor.Actor$class.apply(Actor.scala:318)
at authNetActor.AuthNetActorMain.apply(AuthNetActor.scala:9)
at akka.actor.ActorCell.invoke(ActorCell.scala:626)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:197)
at akka.dispatch.Mailbox.run(Mailbox.scala:179)
at akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:516)
at akka.jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:259)
at akka.jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975)
at akka.jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1479)
at akka.jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
该错误仅发生在此服务器上,它们之间的区别在于代码路径不同,并且它们在自己的本地 IP 地址上创建参与者系统。否则,这两个参与者系统的代码是相同的。
我不确定如何修复此错误或为什么仅针对一台服务器抛出此错误。
任何帮助表示赞赏,谢谢。