【发布时间】:2011-10-19 15:33:07
【问题描述】:
我正在使用 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。
有没有更简洁的方法来使用 apply 或 extends Function 或 PartialFunction 来做这个类?
【问题讨论】:
-
对不起,我不明白这个问题。你能详细说明/完善吗?
-
你可以通过调用你的变量
r而不是readingRequest来减少大约30%。
标签: scala akka partialfunction