了解 JAX-WS 中的 @Oneway 注释

2023-11-25

根据 javadoc:

指示给定的@WebMethod 只有输入消息而没有输出。通常,单向方法在执行实际业务方法之前将控制线程返回给调用应用程序。如果标记为 @Oneway 的操作具有返回值或 Holder 参数,或者声明任何已检查异常,181 处理器应报告错误。

那么我是否可以假设,如果我需要异常处理(选中或未选中),则不建议使用此注释?我不会从业务逻辑中返回任何内容,但是我仍然有兴趣了解超时和特定于调用 SOAP 方法的操作的其他各种错误。此注释是否意味着我无权访问 HTTP 返回代码或引发异常?

Question:我是否最好自己将其线程化以获得真正的异步调用,并删除@Oneway注释?


@Oneway means nothing永远不会逃脱你的方法,既没有响应也没有异常。这有两个原因:

  • 从技术上讲,异常只是另一种类型的响应(SOAP 错误),因此它不能从单向方法返回(不能返回任何内容)

  • 通常单向方法是由 Web 服务框架异步执行的(我知道apache-cxf颂歌)。框架会立即返回,因此您的客户甚至在单向方法的处理开始之前就可能收到空响应。当异常抛出时,原来的HTTP连接早已不复存在。

So if you want to propagate exceptions or timeouts, use standard SOAP method with empty response* and few faults declared explicitly. If you want to timeout your call after some time, you'll need separate thread pool and blocking waiting for response gor a given period of time.

* please do not confuse empty SOAP response (an XML document with no content, just root tag, wrapped in a SOAP envelope) with empty HTTP response (nothing was sent back). Remember that SOAP is not limited to HTTP. For example if you use JMS or e-mail transport, empty response (or fault) of ordinary two-way function is yet another message being sent from server to client. one-way method is just one reauest message and nothing sent back.

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

了解 JAX-WS 中的 @Oneway 注释 的相关文章

  • Java 中的 XPath 节点集

    我在 eclipse 中有这段代码 NodeSet nodes NodeSet xPath evaluate expression inputSource XPathConstants NODESET 它给我 NodeSet 上的编译时错误
  • 如果测试用例失败,Selenium Web 驱动程序无法关闭 Firefox 实例

    我各位 我正在使用 junit 和 selenium web 驱动程序 2 28 问题是 如果我运行成功的测试用例 Web 驱动器能够关闭 Firefox 实例 但是当测试用例失败时 Selenium Web 驱动器无法关闭 Firefox
  • 如何使用 FileChannel 将一个文件的内容附加到另一个文件的末尾?

    File a txt好像 ABC File d txt好像 DEF 我正在尝试将 DEF 附加到 ABC 所以a txt好像 ABC DEF 我尝试过的方法总是完全覆盖第一个条目 所以我总是最终得到 DEF 这是我尝试过的两种方法 File
  • 如何在一行中将字符串数组转换为双精度数组

    我有一个字符串数组 String guaranteedOutput Arrays copyOf values values length String class 所有字符串值都是数字 数据应转换为Double QuestionJava 中
  • 我需要在 Spring 中检查每个控制器中的有效会话吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 假设在 Spring Mvc 的 Web 应用程序中 我们是否需要检查每个控制器或 jsps 中的有效会话 我该如何解决 MVC 中的
  • 在Windows上安装Java 11 OpenJDK(系统路径问题)

    Java 11 最近发布了 众所周知 这个版本没有安装文件 当然 要在没有安装程序的情况下安装 Java 我将系统设置 PATH 和 JAVA HOME 设置为解压缩 Java 11 的文件夹的地址 根据对类似问题的已接受回复建议 唯一的事
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • JNI 不满意链接错误

    我想创建一个简单的 JNI 层 我使用Visual studio 2008创建了一个dll Win 32控制台应用程序项目类型 带有DLL作为选项 当我调用本机方法时 出现此异常 Exception occurred during even
  • Java8无符号算术

    据广泛报道 Java 8 具有对无符号整数的库支持 然而 似乎没有文章解释如何使用它以及有多少可能 有些函数 例如 Integer CompareUnsigned 很容易找到 并且似乎可以实现人们所期望的功能 但是 我什至无法编写一个简单的
  • OnClick 事件中的 finish() 如何工作?

    我有一个Activity一键退出Activity 通过layout xml我必须设置OnClick事件至cmd exit调用 this finish 效果很好 public void cmd exit View editLayout thi
  • 在具有相同属性名称的不同数据类型上使用 ModelMapper

    我有两节课说Animal AnimalDto我想用ModelMapper将 Entity 转换为 DTO 反之亦然 但是对于具有相似名称的一些属性 这些类应该具有不同的数据类型 我该如何实现这一目标 动物 java public class
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • 使用 Flyway 和 Hibernate 的 hbm2ddl 在应用程序的生命周期中管理数据库模式

    我正在开发 Spring Hibernate MySql 应用程序 该应用程序尚未投入生产 我目前使用 Hibernatehbm2ddl该功能对于管理域上的更改非常方便 我也打算用Flyway用于数据库迁移 在未来的某个时候 该应用程序将首
  • 使用 SAX 进行 XML 解析 |如何处理特殊字符?

    我们有一个 JAVA 应用程序 可以从 SAP 系统中提取数据 解析数据并呈现给用户 使用 SAP JCo 连接器提取数据 最近我们抛出了一个异常 org xml sax SAXParseException 字符引用 是无效的 XML 字符
  • Java - 不要用 bufferedwriter 覆盖

    我有一个程序可以将人员添加到数组列表中 我想做的是将这些人也添加到文本文件中 但程序会覆盖第一行 因此这些人会被删除 如何告诉编译器在下一个空闲行写入 import java io import java util import javax
  • 将 JTextArea 内容写入文件

    我在 Java Swing 中有一个 JTextArea 和一个 提交 按钮 需要将textarea的内容写入一个带有换行符的文件中 我得到的输出是这样的 它被写为文件中的一个字符串 try BufferedWriter fileOut n
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • 休眠以持久保存日期

    有没有办法告诉 Hibernate java util Date 应该持久保存 我需要这个来解决 MySQL 中缺少的毫秒分辨率问题 您能想到这种方法有什么缺点吗 您可以自己创建字段long 或者使用自定义的UserType 实施后User
  • 如何修复“sessionFactory”或“hibernateTemplate”是必需的问题

    我正在使用 Spring Boot JPA WEB 和 MYSQL 创建我的 Web 应用程序 它总是说 sessionFactory or hibernateTemplate是必需的 我该如何修复它 我已经尝试过的东西 删除了本地 Mav
  • java迭代器内部是如何工作的? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个员工列表 List

随机推荐

  • Richfaces 4 的动态列

    我需要动态的列数 Richfaces 为其提供
  • 使用 Nutch 重新抓取 URL,仅用于更新的网站

    我使用 Nutch 2 1 抓取了一个 URL 然后我想在页面更新后重新抓取页面 我怎样才能做到这一点 我如何知道页面已更新 你根本做不到 您需要重新抓取页面来控制它是否已更新 因此 根据您的需求 对页面 域进行优先级排序 并在一段时间内重
  • 从mysql中的同一个表中获取父子关系的所有数据

    我试图获取满足父子关系的所有行 例如 id Title parent id 1200 A 1000 1201 B 1000 1202 C 1000 1203 D 1000 1204 E 1200 1205 F 1200 1206 G 120
  • SymPy 中的表达式简化

    我想实现这种简化 e ac ad bc bd e a b c d SymPy 简化函数都不是这样工作的 SymPy 或 python 中的其他地方是否有其他方法可以实现这种简化 您可以使用collect expr e func factor
  • 在 setTimeout 中使用 JavaScript 闭包

    我使用 setTimeout 来模拟渲染 我得到这样的结构 var Renderer new Class Implements Events initialize this onRender onRender function some r
  • k近邻算法中k的值

    我有 7 个类需要分类 我有 10 个特征 在这种情况下 我需要使用 k 的最佳值吗 或者我是否必须针对 1 到 10 大约 10 之间的 k 值运行 KNN 并在算法本身的帮助下确定最佳值 此外文章我在评论里发帖有this one这也表明
  • 如何从控制台读取空格分隔的数字?

    我正在尝试执行一项简单的任务 将控制台中的空格分隔的数字读取到vector
  • WPF 组合框:文本框和下拉列表中的不同模板

    这是我的组合框
  • 类型错误:列表索引必须是整数或切片,而不是 str

    我有两个列表 我想将它们合并到一个数组中 最后将其放入 csv 文件中 我如何避免这个错误 def fill csv self array urls array dates csv file path result array array
  • MongoDB中的日期:将Date对象插入Mongo数据库时,日期变得比本身早1天

    我的日期字符串格式是这样的 2012 年 1 月 2 日在Instant parse 方法之后 instant实例的日期变成了2012年1月1日 提前了1天 为什么呢 如果原始日期字符串是 jan 1 2012 则即时日期将为 2011 年
  • Clojure中doseq和for的区别

    Clojure 中的 doseq 和 for 有什么区别 有哪些例子可以说明您何时会选择使用其中一种而不是另一种 不同之处在于for构建一个惰性序列并返回它doseq用于执行副作用并返回 nil user gt for x 1 2 3 x
  • 环境不一致,请仔细查看套餐方案

    我尝试从 anaconda 更新或安装新软件包 最近出现了此消息 The environment is inconsistent please check the package plan carefully The following p
  • 检查属性是否有属性

    给定类中具有属性的属性 确定它是否包含给定属性的最快方法是什么 例如 IsNotNullable IsPK IsIdentity SequenceNameAttribute Id public Int32 Id get return Id
  • 我想我可以通过 Javascript 检测浏览器本身内部的 Tor 浏览器吗?

    如果浏览器是 Tor 浏览器 我想禁用我正在构建的网络应用程序的某些功能 我可以在浏览器本身 客户端 而不是服务器端 内部查明浏览器是否是 Tor 浏览器 我更喜欢一个不发出任何 HTTP 请求来将浏览器的 IP 与 Tor 出口节点进行匹
  • 使用 javascript 和 PhoneGap 的 HTML5 移动应用本地化

    我正在创建一个在所有 3 个移动平台 Android iOS 和 Windows Mobile 8 上运行的 HTML5 移动应用程序 我正在使用 javascript 进行本地化 https github com eligrey l10n
  • 如何在 Swift 中显示来自另一个类的警报?

    我有一个主课 AddFriendsController 运行以下代码行 ErrorReporting showMessage Error msg Could not add student to storage 然后我有这个ErrorRep
  • 从 python 中的列表中获取唯一值[重复]

    这个问题在这里已经有答案了 我想从以下列表中获取唯一值 nowplaying PBS PBS nowplaying job debate thenandnow 我需要的输出是 nowplaying PBS job debate thenan
  • 在python中通过调制解调器发送wav声音

    我正在尝试用 python 和 linux 制作一个自动应答和呼叫机 但到目前为止我只能拨打一个号码 当谈到发送声音或录制声音时 我没有成功 过去一周我一直在努力解决这个问题 到目前为止还找不到解决的方法 我使用的调制解调器是 Conexa
  • 可以嵌套
    吗?

    在 asp net 网页的内容页中 我想包含 paypal 按钮 立即付款 所以 我有一个母版页和一个内容页 在我的内容页面中 我复制粘贴贝宝代码 特别是 我使用 modalpopupextender 来允许我的用户购买该对象 问题是 它不
  • 了解 JAX-WS 中的 @Oneway 注释

    根据 javadoc 指示给定的 WebMethod 只有输入消息而没有输出 通常 单向方法在执行实际业务方法之前将控制线程返回给调用应用程序 如果标记为 Oneway 的操作具有返回值或 Holder 参数 或者声明任何已检查异常 181