gpt4 book ai didi

java - 如何将序列化对象传递给 appengine java 任务?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:18:06 24 4
gpt4 key购买 nike

我正在使用 java appengine 和任务队列 API 来运行异步任务。我想向任务队列添加一个任务,但将一个 java 对象作为参数传递。我注意到任务选项 api 可以添加一个参数作为 byte[],但我不确定如何使用它。

1) 如何将我的对象序列化为 byte[]?和2) 任务将如何读取 byte[] 并重建原始对象?

谢谢。

最佳答案

您有一些使用 Queue API 传送字节流的技术,

  1. 使用 TaskOptions.payload 方法

  2. 使用 TaskOptions.params 方法

我将演示如何写入和读取字节流信息,因为 google appengine 实现存在一些小问题:)

写入字节:

//task是TaskOptions的一个实例//Base64 - 此处使用 Apache 实现将字节编码为 base 64//taskBytes - 你的序列化字节

task.param("输入参数名称", Base64.encodeBase64(taskBytes));

读取字节:

//Base64 - 此处使用 Apache 实现将字节编码为 base 64

byte[] questionsBytes = Base64.decodeBase64(request.getParameter("Enter-Parameter-Name").getBytes());

这个解决方案对我来说效果很好。

一切顺利乌里

关于java - 如何将序列化对象传递给 appengine java 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2484914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com