Spring Web 服务框架中的流式传输 MTOM Web 服务

2023-12-20

我想使用 MTOM 和 Spring WS 将大文件从服务器发送到客户端。我意识到这不是处理此类事情的最佳方法,但这是一个要求。我设置了 MTOM,它非常适合 50mb 左右的小文件。我遇到较大文件的内存不足错误,通过更改不同的堆空间大小,我可以发送稍大的文件,但不能发送接近 1GB 的文件。 1GB 是我的测试用例。如何将 MTOM 服务从服务器流式传输或分块到客户端?我使用 Java 6 update 17、Tomcat 6 和 Spring WS 1.5.7 以及 SaajSoapMessageFactory。

我找到了一个使用 jax-ws 进行流式传输的示例,但我不确定如何将其合并到 Spring WS 端点中。

使用 MTOM/XOP 优化二进制数据传输 http://download.oracle.com/docs/cd/E12840_01/wls/docs103/webserv_adv/mtom.html


昨天,我在上传大文件时遇到了同样的问题。最后我找到了解决方案。 Spring WS 有一个定制的 Axiom 消息工厂,名为org.springframework.ws.soap.axiom.AxiomSoapMessageFactory上传大文件时可以使用文件而不是内存。配置中要做的唯一更改是使用自定义属性定义 bean。

<bean id="messageFactory" class="org.springframework.ws.soap.axiom.AxiomSoapMessageFactory">
    <property name="payloadCaching" value="false" />
    <property name="attachmentCaching" value="true" />
    <property name="attachmentCacheThreshold" value="1024"/>
</bean>

一旦您在类路径中拥有此配置和可用的 Axiom 类,Spring-ws 就会自动使用临时文件来承载大型文档上传。

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

Spring Web 服务框架中的流式传输 MTOM Web 服务 的相关文章

随机推荐

  • 用于 RIA 的 Flex/Openlaslzo?

    我最近偶然发现了 flex openlaszlo OL 两者似乎都非常有用 我对它们有几个问题 部署弹性应用程序需要什么 据我了解 flex sdk 是开源的 但是其他工具 用于开发和部署 是 所有权 部署 openlaszlo 需要什么
  • Swift NWListener 监听、取消和重新监听成功吗?

    我有一个应用程序 我应该有一个 websocket 仅当该应用程序位于前台时才侦听 我已经点击了生命周期通知并调用 start 并相应地停止 该应用程序可以正常工作 直到应用程序返回前台 此时我收到许多警告和错误 class SwiftWe
  • 使用数据库中的内容创建 PDF 文件

    我想打印 pdf 格式的门票 我已经能够检索票据详细信息 例如客户姓名 订单 ID 订单项目和总账单 我想将此详细信息放入准备打印的 pdf 文件中 我使用 html 和 php 标签从数据库中检索这些票证详细信息 如何将 php 文件中回
  • mouseout 和 mouseleave 不起作用

    嗨我正在使用mouseout and mouseleave方法 但两者都不起作用 我尝试修复它但找不到解决方案 我的代码看起来很好 没有错误 所以我想知道为什么它不起作用 这是示例代码link http jsfiddle net Dpp8a
  • 正则表达式在 Swift 中获取方括号对之间的文本

    strong Lorem Ipsum lt strong gt Lorem Ipsum link to shop page instore pickup Learn More link to 给定上面的示例字符串 它包括 HTML 它是我从
  • 使用 arquillian+omnifaces 运行测试时出现 java.util.ServiceConfigurationError

    我收到以下错误 java util ServiceConfigurationError javax servlet ServletContainerInitializer 提供者 org omnifaces ApplicationIniti
  • 房间使用日期字段

    我正在使用日期转换器类来转换我的日期对象 但是 我仍然遇到一个错误 错误 无法弄清楚如何将此字段保存到数据库中 您可以考虑为其添加类型转换器 我的日期转换器课程 public class DateConverter TypeConverte
  • Objective C - 在主线程上调用类方法?

    我怎样才能打电话CLASS METHOD在主线程上 就像是 SomeClass performSelectorOnMainThread staticMethod withObject nil 请不要告诉我创建一个常规方法来调用此类方法 这将
  • git checkout 而不覆盖数据

    你怎么git checkout而不覆盖数据 I run git checkout master I get error Entry forms answer php would be overwritten by merge Cannot
  • 在 Java 中连接两个字符串然后转换为日期

    我需要在 Java 中将两个字符串连接在一起 然后格式化该字符串并将其设为 Date 对象 我现在拥有的两个字符串是31 01 2012 and 20 00我想做一些类似的事情 try DateFormat formatter new Si
  • 从 TFS 2015 Rest API 返回什么对象

    我正在使用 TFS 2015 Rest api 来检索构建定义并使用这些调用构建详细信息 定义 http tfs DefaultCollection apis build definitions name ampm api 版本 2 0 构
  • 如何访问 QTextDocument 页面

    我正在尝试构建一个以分页方式显示富文本文档的应用程序 或多或少像 MS Word 那样 目前 我希望一次只显示一页 From 这个问题 https stackoverflow com questions 3605368 how to pag
  • Blackberry WebWorks 中包含哪个版本的 WebKit?

    我能找到的就是 WebKit 它很有用 因为 BBOS5 甚至没有它 但如果有具体的版本就更好了 我正在尝试让 PDF js 工作 想知道我是否应该放弃 如果您确实想了解不同 BlackBerry 设备中的 WebKit 版本 请查看我们的
  • Java 中是否允许空字符串作为枚举成员

    我在处理一些遗留代码时遇到了一些问题 一张票要求我编写一个脚本来测试流程的有效性 但是 运行脚本时我不断收到此异常 java lang IllegalArgumentException No enum const class edu cmu
  • 从数据源拖放到 WPF 窗口不起作用

    我的任务是为我的公司设计一个联系人管理程序 我们有 VS 2012 因为我之前从未使用过 WPF 所以我想用它来开发这个应用程序 在使用数据库的实体框架时 我在开始绑定时遇到了巨大的问题 顺便说一句 首先是数据库 我已按照该信函链接中的说明
  • 如何添加可水平滚动的单行图像列表(在react js中)

    我想获得一些有关如何添加可水平滚动的单行图像列表的建议 解决方案和方法 假设您有一个 html 页面 其中包含多个 div 元素 并且该页面可以垂直滚动 在页面的最后一行 我想显示可以水平滚动的图像列表 可以做什么来达到这个效果呢 请参考下
  • Vagrant 中的符号链接和同步文件夹

    我想使用 Vagrant 为我的团队提供一个通用的开发环境 主机完全不同 有些使用 OS X 有些使用 Linux 有些使用 Windows 有些使用VMware 有些使用VirtualBox 我们想要在虚拟机内部运行 Linux 到目前为
  • 在 Google Apps 脚本 MailApp.sendEmail 中使用抄送和/或密件抄送

    我正在 Google Apps 脚本中运行以下脚本 emailAddress 是从工作表中提取的变量 MailApp sendEmail emailAddress subject message htmlBody message 我正在尝试
  • UITableView 标题位于各部分的左侧(如 Spotlight)

    我已经搜索了很长一段时间了 但仍然没有找到方法 我想将 iPhone 的 Spotlight 的节标题复制到 UITableView 中 众所周知 当您滚动时 常规 表视图标题在部分顶部保持可见 但有一种标题是我在 Springboard
  • Spring Web 服务框架中的流式传输 MTOM Web 服务

    我想使用 MTOM 和 Spring WS 将大文件从服务器发送到客户端 我意识到这不是处理此类事情的最佳方法 但这是一个要求 我设置了 MTOM 它非常适合 50mb 左右的小文件 我遇到较大文件的内存不足错误 通过更改不同的堆空间大小