Scala 设置
Fory Scala 提供二进制对象序列化、生成的模型以及 Fory gRPC。运行时制品支持 Scala 2.13 和 Scala 3;生成的 Scala 模型需要 Scala 3。
验证工具链
java -version
scala -version
sbt --version
对象序列化
在 build.sbt 中添加运行时:
ThisBuild / scalaVersion := "3.3.1"
libraryDependencies += "org.apache.fory" %% "fory-scala" % "1.5.0"
创建 src/main/scala/ScalaExample.scala:
import org.apache.fory.Fory
import org.apache.fory.scala.ForyScala
case class User(id: Long, name: String)
object ScalaExample {
def main(args: Array[String]): Unit = {
val fory: Fory = ForyScala.builder()
.withXlang(true)
.build()
fory.register(classOf[User], 1)
val bytes = fory.serialize(User(1, "Alice"))
val decoded = fory.deserialize(bytes).asInstanceOf[User]
println(decoded.name)
}
}
sbt run
与其他 Fory 运行时共享的数据使用 xlang 模式,仅供 Scala/JVM 使用的数据使用 native 模式。接下来可阅读 Scala 对象序列化、xlang或 native 模式。
其他能力
- Fory IDL 与编译器 生成 Scala 3 模型和注册辅助代码。请参阅编译器快速入门和 Scala 生成代码指南。
- Fory gRPC 通过 grpc-java 传输使用 Fory 编码的消息。请参阅 Scala gRPC。