Play/Akka 与 Java OutputStreams 集成

2024-02-12

我正在写剧本!该应用程序公开了 REST API,允许用户生成 PDF 报告。我受到使用旧 Java API 来生成实际报告的要求的限制。那个库有一个方法generate(OutputStream out, ...),即需要一个java.io.OutputStream它写入结果报告的地方。

我的问题是将其与 Play/Akka 集成以提供分块编码中的内容。为此,我需要创建一个Enumerator[Array[Byte]]其中以某种方式包含OutputStream来自 Java 库。我想出了一个可行的解决方案,使用PipedOutputSteam/PipedInputStreamduo 使用管道将库的输出传输到 EnumeratorEnumerator.fromStream.

我想知道是否有更好的方法来实现这一点,但我似乎无法在 Akka 或 Play 中找到明确的示例!将枚举器与 OutputStreams 集成的文档。我知道 Java 库的阻塞 IO 是设计更好解决方案的限制因素,但也许有一种更简洁的方法来做到这一点。有什么想法吗?

跟进

假设我使用Enumerator.outputStream,将实际报告生成转移到另一个参与者(可能在另一台机器上)的安全方法是什么?例如,我猜测发送 OutputStream 并不安全(并且只能在本地工作)。


Play 2.1有以下方法:Enumerator.outputStream(a: (OutputStream) ⇒ Unit): Enumerator[Array[Byte]]这可能正是你想要的。

它的实现专门使用其他 Play 2.1 类,因此如果您使用 Play 2.0,则需要进行一些额外的挖掘才能实现相同的效果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Play/Akka 与 Java OutputStreams 集成 的相关文章

  • JavaFX 图像未在舞台中显示

    我尝试了很多次 尝试了很多方法 但都无法让自己的形象在舞台上如我所愿 我认为这可能与java寻找资源的路径有关 但我不确定 因为我刚刚开始使用视觉库 在本例中为JavaFX 这是我的目录结构 MyProject assets img myI
  • 使用 HttpUrlConnection Android 将 base64 编码的图像发送到服务器

    我正在尝试使用 HttpUrlConnection 将 base64 编码的图像发送到服务器 我遇到的问题是大多数图像均已成功发送 但有些图像会生成 FileNotFound 异常 我的图像编码代码可以在下面找到 public static
  • 手动编辑 Jar 以更改包名称

    我有一个来自外部源的 jar 文件 jar 中的所有类都位于 com xyz 包中 我想将所有类移动到 com xyzold 包中 这是否像解压缩 jar 将 xzy 文件夹重命名为 xyzold 并重新压缩它一样简单 或者我还需要修改每个
  • jvm 次要版本与编译器次要版本

    当运行使用具有相同主要版本但次要版本高于 JVM 的 JDK 编译的类时 JVM 会抛出异常吗 JDK 版本并不重要 类文件格式版本 http blogs oracle com darcy entry source target class
  • URL.setURLStreamHandlerFactory

    我正在使用带有嵌入式 Jetty 的可执行 jar 开发一个 Web 应用程序 我的jar包含一个依赖jar jar in jar 我参考了JarRsrcLoader and RsrcURLStreamHandlerFactory由 Ecl
  • 解决 Java Checkstyle 错误:名称 'logger' 必须匹配模式 '^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'

    使用 Eclipse Checkstyle 插件我看到以下错误 名称 logger 必须匹配模式 A Z A Z0 9 A Z0 9 我通过更改解决了此错误 private static final Logger logger Logger
  • Java、Oracle 中索引处缺少 IN 或 OUT 参数:: 1 错误

    您好 我使用 Netbeans 8 0 2 和 Oracle 11g Express Edition 在 JSF 2 2 中编写了一个图书馆管理系统 我有几个名为 书籍 借阅者 等的页面 以及数据库中一些名为相同名称的表 我的问题是这样的
  • 使用 ChannelExec 的命令未执行 - Jsch

    我正在使用 Jsch 在服务器中创建一个文件并执行一些命令 对于文件创建 它工作正常 但是对于命令执行 则不然 它保持状态 1 仍在处理它 并永远保持该状态 这种情况发生在 shell 执行或我尝试成为 root 时 请按照以下方法操作 p
  • 将过滤器添加到 Eclipse 中的 Project Explorer

    我想向 Project Explorer 添加一个新的过滤器 以向用户隐藏一些在 Eclipse RCP 应用程序中自动创建的项目 到目前为止我已经找到了两个扩展点 org eclipse ui ide resourceFilters 允许
  • 尝试使用 JRI 将 R 与我的 Java 应用程序集成,但出现错误。谁能解释一下原因和解决办法吗?

    我需要将 Java 与 R 集成来运行一些数学命令并使用 R 的功能进行绘图 以下部分代码给出了错误 public static void main String args HelloRWorld r new HelloRWorld r h
  • 容器中的 JVM 计算处理器错误?

    最近我又做了一些研究 偶然发现了这一点 在向 OpenJDK 团队抱怨之前 我想看看是否有其他人观察到这一点 或者不同意我的结论 因此 众所周知 JVM 长期以来忽略了应用于 cgroup 的内存限制 众所周知 现在从 Java 8 更新某
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • 如何将 Observable>> 转换为 Observable>

    我陷入了如何将以下可观察类型转换 转换为我的目标类型的困境 我有以下类型的可观察值 Observable
  • 在 Java 中将弯音发送到 MIDI 音序器

    我了解启动和运行 MIDI 音序器的基础知识 并且希望能够在播放过程中增加 减小序列的音高 但弯音是发送到合成器而不是音序器的消息 我尝试将音序器的接收器设置为合成器的发射器 当我发送弯音短消息时 音序器保持相同的音调 但随后合成器以新的弯
  • Java:java.util.ConcurrentModificationException

    我正在制作 2D 目前正在研究用子弹射击 子弹是一个单独的类 所有项目符号都存储在称为项目符号的数组列表中 当它超出屏幕一侧 Exception in thread main java util ConcurrentModification
  • 带有 OpenId 提供程序的 Java Spring 安全性

    我有一个 spring MVC 应用程序 另一个客户端应用程序想要使用 open id connect 访问我的 spring 应用程序 如何在服务器端实现开放ID提供商 请帮忙 MITREid 连接 OpenID Connect Java
  • 如何找到被点击的JLabel并从中显示ImageIcon?

    这是我的代码 我想知道哪个l单击 然后在新框架中显示该 ImageIcon e getSource 不起作用 final JFrame shirts new JFrame T shirts JPanel panel new JPanel n
  • 如何在Java媒体框架中学习.wav持续时间?

    我正在尝试使用 java 媒体框架将 mov 文件与 wav 文件合并 因此我需要知道它们的持续时间 我怎样才能做到这一点 任何想法 将不胜感激 您可以使用以下方式了解声音文件的持续时间 即 VitalyVal 的第二种方式 import
  • 为什么这个私人浮动字段变为零?

    我有一些奇怪的行为 我很难向自己解释 称为 textureScale 的浮点字段变为零 如果某些代码正在更改该值 则可以解释这一点 然而 我希望能够通过将其设置为 私有最终浮点 来导致构建失败 或者至少是运行时异常 那么无论更改该值都将失败
  • 春季 CORS。在允许的来源中添加模式

    查看CORS的弹簧指南 以下代码启用所有允许的来源 public class MyWebMVCConfigurer extends WebMvcConfigurerAdapter Override public void addCorsMa

随机推荐

  • 如何使用函数初始化数组? [复制]

    这个问题在这里已经有答案了 我想在 Rust 中创建一个包含 10 个空向量的数组 但是 Vec new 10 不起作用Vec不执行Copy 我该如何做到这一点 更一般地说 如何通过重复调用函数来初始化数组 从 Rust 1 63 开始 U
  • 使用反射复制构造函数[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个包含 100 个字段的基类和一个包含 2 个字段的派生类 我希望通过调用基类中的 getter
  • 从商店下载全新版本后,Expo 中的 OTA 更新是否会在首次打开时启动?

    我使用 React Native 开发了一个应用程序 并通过 Expo 分发了它 我将最终版本发布到 Google Play 和 Apple Store 一段时间后我发现世博会的出版文档 https docs expo io version
  • 将cypress测试框架添加到Maven pom.xml

    尝试在 Maven 项目中使用新的 cypress 框架 文档只有一个 npm 模块设置示例 npm install cypress 和一个 package json 使用示例 如何将其转换为 Maven 依赖项中的用法 您也可以直接下载C
  • Xcode“来自调试器的消息:对 k 数据包收到意外响应:正常”

    在模拟器上测试我的应用程序时收到此消息 来自调试器的消息 对 k 数据包收到意外响应 正常 这是什么意思 我的应用程序是否存在任何危险 使用 Xcode 6 4 和 7 2 如果你看一下文件进程GDBRemote cpp http llvm
  • 使用 BitmapSource 的 WPF 渲染性能

    我创建了一个 WPF 控件 继承自 FrameworkElement 它显示可以平移的平铺图形 每个图块为 256x256 像素 24bpp 我已经重写了 OnRender 在那里 我加载所有新图块 如 BitmapFrame 然后使用 D
  • 异步函数执行?

    在我的 iOS 应用程序中 我执行以下操作 viewDidAppear Load a spinner in a view on the top DSBezelActivityView newActivityViewForView self
  • ASP.NET 和 C# 重定向

    我正在为学校做一个项目 这是一个额外的学分部分 我有一个使用母版页在 VS 2010 中启动的项目 我想做的是获得一个 提交 按钮 将人们重定向到 MyAccounts aspx 页面 我当前的按钮 ASP 部分代码如下所示
  • 将 jsPDF 生成的两个 PDF 合并为一个文档

    我正在使用 jsPDF 从 HTML 生成文档 使用 html 方法 并且效果很好 但现在我需要做下一步 创建 jsPDF 对象 使用以下内容添加内容 html method 将新页面添加到创建的文档中 使用相同的内容将内容添加到第二页 h
  • 在春季测试@Scheduled

    Spring 提供了使用注释按特定时间间隔安排和执行任务的可能性 例如 Scheduled http static springsource org spring docs 3 0 x reference scheduling html 有
  • 如何在 ms access 2007 查询中声明和设置变量

    我想在 ms access 2007 数据库查询中声明和设置变量 我想将2个数据库查询结果存储在2个变量中 因为执行后它们是整数或字符串类型 我想知道如何声明和设置变量 SQL Server 等效项是这样的 declare var1 var
  • 如何让断言等待 IdlingResource 断言

    我想使用空闲资源 因为我在应用程序中使用 RxJava 和 EventBus 有时我的测试失败 我认为这是因为同步 依赖项 androidTestCompile com android support test runner 0 4 and
  • 最佳实践:我应该对静态数据使用 AR 模型还是全局哈希?

    我正在考虑建立一个社交网站 我的用户模型应该有一个属性 eyecolor 可以使用选择框 下拉列表在视图页面上设置该属性 我的问题 gt 我应该制作 AR 模型还是应该对数据使用全局哈希 常量 静态模型 有最佳实践吗 以及如何在没有 AR
  • 获取大量数据会引发 Cursor Window: Window is full 错误

    我是 Android 新手 在我的应用程序中 我必须从服务器获取大量数据 其中两个是图像 并将其存储在本地数据库中 到目前为止 我已经完成了标准方法 其中涉及一次获取所有数据并将其存储在本地数据库中 但我遇到了内存不足的错误 获取大量数据时
  • Java:Apache Poi 的 Excel 到 csv 日期转换问题

    当使用下面的实用程序将大型 Excel 文件转换为 csv 时 由于 Excel 单元格格式定义为 format 某些日期值转换不正确 代码位置 https svn apache org repos asf poi trunk src ex
  • 递归下降解析器问题

    关于如何编写递归下降解析器 我有两个问题 第一个是当你有一个非终结符可以匹配几个不同的非终结符之一时该怎么办 如何检查哪种方式是正确的 其次 如何构建 AST 使用 YACC 我可以编写一段代码来为非终端的每个实例执行 并且它具有引用规则
  • 如何在 Python 中将字典合并在一起?

    d3 dict d1 d2 我知道这合并了字典 但是 它是独一无二的吗 如果 d1 与 d2 具有相同的键但不同的值怎么办 我希望将 d1 和 d2 合并 但如果存在重复键 则 d1 具有优先权 您可以使用 update http docs
  • 无法写入核心转储。默认情况下,Eclipse 中的 Windows 客户端版本不启用小型转储

    当我尝试在 Eclipse 中运行 Android 应用程序时 出现以下错误 但这仅发生在同一工作区中的单个项目中 JRE version 7 0 21 b11 Java VM Java HotSpot TM Client VM 23 21
  • 系统性能计数器的实例名称是否已本地化?

    Windows 中的性能计数器名称是本地化的 因此例如计数器 Processor Total Processor Time在 Windows 的其他语言版本中称为其他名称 这意味着为了找到正确的名称 必须首先找到计数器的索引 然后使用Pdh
  • Play/Akka 与 Java OutputStreams 集成

    我正在写剧本 该应用程序公开了 REST API 允许用户生成 PDF 报告 我受到使用旧 Java API 来生成实际报告的要求的限制 那个库有一个方法generate OutputStream out 即需要一个java io Outp