我正在使用akka庫並提供部分函數,以便在運行時通過熱插拔由actor執行。如何定義更簡潔的scala函數
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%。 –