当前位置: 首页>>代码示例>>Scala>>正文


Scala OffsetMetadataAndError类代码示例

本文整理汇总了Scala中kafka.common.OffsetMetadataAndError的典型用法代码示例。如果您正苦于以下问题:Scala OffsetMetadataAndError类的具体用法?Scala OffsetMetadataAndError怎么用?Scala OffsetMetadataAndError使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了OffsetMetadataAndError类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。

示例1: OffsetAndMetadata

//设置package包名称以及导入依赖的类
package com.box.castle.router.messages

import kafka.common.OffsetMetadataAndError
import OffsetAndMetadata.ConsumerMetadataPrefix


case class OffsetAndMetadata(offset: Long, metadata: Option[String] = None) {
  def asKafkaOffsetMetadataAndError: OffsetMetadataAndError = {
    metadata match {
      case Some(consumerMetadata) => OffsetMetadataAndError(offset, ConsumerMetadataPrefix + consumerMetadata)
      case None =>  OffsetMetadataAndError(offset)
    }
  }
}

//@TODO add test case
object OffsetAndMetadata {
  val ConsumerMetadataPrefix = "V1|CONSUMER_METADATA"
  def apply(kafkaOffsetMetadataAndError: OffsetMetadataAndError):OffsetAndMetadata = {
    val consumerMetadata = if(kafkaOffsetMetadataAndError.metadata.startsWith(ConsumerMetadataPrefix)) {
      //Only fill in the metadata if the raw metadata(read from kafka) starts with the prefix, which means
      //it's managed by castle
      Some(kafkaOffsetMetadataAndError.metadata.substring(ConsumerMetadataPrefix.length))
    } else {
      None
    }
    OffsetAndMetadata(kafkaOffsetMetadataAndError.offset, consumerMetadata)
  }
} 
开发者ID:Box-Castle,项目名称:router,代码行数:30,代码来源:OffsetAndMetadata.scala


注:本文中的kafka.common.OffsetMetadataAndError类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。