scala札记

:q 退出sbt console

Map的使用import scala.collection.mutable.Map  

 

 

 

 

case class StatusChangeMessage(addressId: Option[String], contactName:  Option[String], extraParam:extraMessage)
case class extraMessage(sellerName: Option[String], amount:Option[Int],sellerMobile:  Option[String])

object StatusChangeMessageJsonProtocol extends DefaultJsonProtocol {
  implicit val extraMessageFormat = jsonFormat(extraMessage,"sellerName","amount","sellerMobile")
  implicit val statusChangeMessageFormat = jsonFormat(StatusChangeMessage,"addressId","contactName","extraParam")
}

class OrderDBSavedListener extends MessageListener {

  def consume(message: Message, consumeContext: ConsumeContext): Action = {
    val messageBody = new String(message.getBody, "UTF-8")
    if (message.getReconsumeTimes > 0) {
      CommonUtils.logger.warning("reconsumeTime: " + message.getReconsumeTimes)
    }
    import StatusChangeMessageJsonProtocol._
    try {
          println("12323432423")
          println(messageBody)
          val messageaa=messageBody.parseJson.convertTo[StatusChangeMessage]
          println(messageaa.addressId.getOrElse(""))
          println(messageaa.contactName.getOrElse(""))
          println(messageaa.extraParam.sellerName.getOrElse(""))
        } catch {
      case e: Exception => {
        println(e)
        return Action.ReconsumeLater
      }
    }

 

Eval的使用

import scala.reflect.runtime.universe
import scala.tools.reflect.ToolBox
val tb = universe.runtimeMirror(getClass.getClassLoader).mkToolBox()
tb.eval(tb.parse("""println("hello!")"""))

 

函数参数

 

import scala.util.{Try, Success, Failure}:https://blog.csdn.net/jasonding1354/article/details/46822417

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值