我正在使用 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 来做这个类?