Interesting problem if you look at it deeper. While there are changes in Actor between 2.2.3 and 2.3.* I can't see how those changes would make the definition of these two Actor versions incompatible. Few methods were added, but that should not cause binary incompatibility issue. . . until you realize that Actor is a mixin and thus treated differently by the compiler. In other words if Actor was not a trait but an abstract class, this error would not happen. The aroundPreStart() method (the cause of the exception) would successfully resolve in the definition of the Actor during the load time. I am sure you guys (akka-eng) thought of that, so I guess I am curious as to the reasoning for not making Actor an abstract class giving its public nature.
Having said that, the source is still compatible (at least for this particular issue) so all you need to do is recompile your code against RC and this issue will go away. Cheers Oleg On Fri, Feb 7, 2014 at 12:30 PM, Pierre-Yves Saumont <[email protected]>wrote: > Hello, > > I have an application that was using Akka 2.2.3. It is a mixed Java/Scala > application where an actor is created in Java code: > > this.requester = system.actorOf(Requester.props(dbCredentials.dbUrl, > dbCredentials.dbUsername, ... > > And the actor is defined in Scala: > > object Requester { > def props(url: String, username: String, password: String, start: Long, > end: Long, writePage: Int, client: ActorRef, requestHelper: > RequestHelper) = > Props(classOf[Requester], url, username, password, start, end, > writePage, client, requestHelper) > } > > class Requester(url: String, username: String, password: String, start: > Long, > end: Long, writePage: Int, client: ActorRef, requestHelper: > RequestHelper) extends Actor { > > > The application is working fine with Akka 2.2.3. With 2.3.0-RC2, I get the > following error (repeated many times): > > Uncaught error from thread [Uncaught error from thread > [mySystem-akka.actor.default-dispatcher-8mySystem-akka.actor.default-dispatcher-2] > shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for > ActorSystem[] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is > enabled for ActorSystem[mySystem] > java.lang.AbstractMethodError > at akka.actor.ActorCell.create(ActorCell.scala:555) > at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:431) > at akka.actor.ActorCell.systemInvoke(ActorCell.scala:453) > at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:263) > at akka.dispatch.Mailbox.run(Mailbox.scala:219) > at > akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393) > at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) > at > scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) > at > scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > mySystem] > > > it seems to occur in line > > Props(classOf[Requester]... > > May be its normal due to changes in 2.0.3 ? Is there a document about what > has changed between 2.2.3 and 2.3.0 ? > > Thanks, > > Pierre-Yves > > -- > >>>>>>>>>> Read the docs: http://akka.io/docs/ > >>>>>>>>>> Check the FAQ: http://akka.io/faq/ > >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user > --- > You received this message because you are subscribed to the Google Groups > "Akka User List" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/akka-user. > For more options, visit https://groups.google.com/groups/opt_out. > -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: http://akka.io/faq/ >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/groups/opt_out.
