使用骆驼2.13.2.在我解决问题时,请耐心等待:
我有一个子进程,我需要跟踪飞行中的订单。主进程使用一个长事务,在一些冗长的验证结束时保留订单信息。如果两个具有相同密钥的订单相隔子秒提交,挂起的订单验证可能不会标记最后一个订单。因此,我有一个路由,它使用带有PROPIGATION_REQIRES_NEW的新事务来保留飞行中的信息,以补充挂起的订单验证,直到相关订单信息被提交:
<route id="insertInflightRoute">
<from uri="direct-vm:insertInflightEndpoint"/>
<transacted ref="PROPAGATION_REQUIRES_NEW" />
<代码>
<bean ref="inflightService" method="setInflightException"/>
</onException>
<!-- DB insert via Mybatis autowired in bean. Working fine-->
<bean ref="inflightService" method="insert"/>
</route>
当第二个订单尝试插入到这个飞行表中时,一旦事务尝试提交,就会引发PK违规异常。这也工作正常。
我的问题是路由级别
应路由级别
我想指出的是,路由级别的< code >
我有一个解决我的问题的变通办法,虽然不是我想的那么理想。
我回到呼叫路由并封装了
<doTry>
<!-- insert into inflight mdn table immediately -->
<to uri="direct-vm:insertInflightEndpoint"/>
<doCatch>
<exception>java.sql.SQLException</exception>
<bean ref="inflightService" method="setInflightException"/>
</doCatch>
</doTry>
如果您希望路由级别onException改变原始的交换/消息,您需要设置它来处理它,例如handled=true,然后在bean中您可以在交换上设置一个新的异常,或者抛出一个异常。
Camel Version 2.22.0 运行时:SpringBoot:2.0.2.RELEASE JDK版本:1.8。0_121 弹性公网IP:收件人列表。 问题:从接收方列表的并行进程引发的异常未在路由级别的onExc的子句中捕获。 下面是DSL
概述 首先同步下项目概况: 上篇文章分享了,路由中间件 - 日志记录,这篇文章咱们分享:路由中间件 - 捕获异常。当系统发生异常时,提示 “系统异常,请联系管理员!”,同时并发送 panic 告警邮件。 什么是异常? 在 Go 中异常就是 panic,它是在程序运行的时候抛出的,当 panic 抛出之后,如果在程序里没有添加任何保护措施的话,控制台就会在打印出 panic 的详细情况,然后终止运行
我正在尝试将一个任务提交给Java的ExecutorService。它要么需要一个Callable,它允许抛出异常,要么需要一个Runnable。我的用例是愚蠢的:我想安排一个抛出异常的任务,但它是一个无效的方法。因此,我不能使用Callable或Runnable,因为方法定义与我的用例不匹配。我还想让我的异常从提交后收到的Future传播。有什么想法吗?
问题内容: 我几乎从来没有玩过客户端方面的东西,而这个大概简单的任务正在踢我的屁股:) 我有一些链接。OnClick我想阻止默认操作,捕获其href网址,向该url提交ajax GET,并简单地添加结果…但是我什至无法越过起始行:) 播放时间锚点示例: 现在,我已经针对SO上的 类似 请求提出了一些建议,但是这些链接仍然会使浏览器导航到href网址。 即使只是 …链接仍然导航到另一页。 我有点像婴
在另一个用@ControllerAdvice注释的类中,我有一个ExceptionHandler,它捕获IllegalArgumentException并将其转换为HTTP状态码为400的格式化响应。 当通过触发API的有效路径来执行此操作时,一切正常。当我尝试调用API的无效/不存在路径时,会出现问题。调用HandlerInterceptor并引发异常,但未触发我的ExceptionHandle
问题内容: 尝试添加pdf文件生成时,我看到奇怪的行为。 在if语句上,以下代码将引发:both \ routes.js 错误:只能在方法调用中调用Meteor.userId。在发布函数中使用this.userId。在[对象Object] .Router处的Object.Meteor.user(packages / accounts-base / accounts_server.js:24:1)处