0

私は akka ライブラリを使用しており、ホット スワップを介して実行時にアクターによって実装される部分関数を提供しています。

akka ホット スワップは、PartialFunction[Any, Unit] の形式で引数を取ります。私は次のように定義しました:

class Fake1Reader extends AbstractReader {

  def read: PartialFunction[Any, Unit] = {
    case readingRequest: ReadingRequest => {
      var reading: Reading = new ReadingImpl(readingRequest.getResourceId, "payload",
        Calendar.getInstance.getTime,
      readingRequest.getfrequency, readingRequest.getMappingName,
        readingRequest.getClassificationType,
      readingRequest.getReadingRequestId)
      sendConsumeMessage(reading)
    }
  }
}

したがって、この関数を使用するには、新しい Fake1Reader().read を提供する必要があります。

関数または PartialFunction の適用または拡張を使用して、このクラスを行うより簡潔な方法はありますか?

4

2 に答える 2

2

補足として、これにより、繰り返しの単調な作業が軽減されます。

case readingRequest: ReadingRequest => {
  import readingRequest._
  var reading: Reading = new ReadingImpl(getResourceId, "payload",
    Calendar.getInstance.getTime,
  getfrequency, getMappingName,
    getClassificationType,
  getReadingRequestId)
  sendConsumeMessage(reading)
}
于 2011-10-19T22:50:21.113 に答える