我正在使用 Camel sql 组件,并希望在事务失败时使用 onConsumeFailed 更新具有异常堆栈跟踪的记录。
表结构: 如果不存在,则创建表 库存( itemnbr 整数 非空默认值 nextval('inventory_itemnbr_seq'::regclass), 位置整数, 位置类型字符变化 (2) , 颜色字符变化 (5) , 品牌字符变化 (5), soh 双精度, camel_is_read整数默认值 0, 异常字符变化 (500) , 约束inventory_pkey主键 (itemnbr) )
在我的骆驼路线中,我使用了onConsumerFailed选项,如下所示
sql://<select statement>?dataSource=#dataSource&onConsumeFailed=update inventory set camel_is_read = 0, exception=:#exception where itemNbr= :#itemNbr
我已经在路由上创建了 onException,如下所示,并将标头属性“异常”的根本原因设置为 .
onException(Exception.class).process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
Throwable ex = exchange.getProperty(Exchange.EXCEPTION_CAUGHT,
Throwable.class);
exchange.getIn().setHeader("exception", ex.getCause());
}
});
当事务发生异常时,更新行时会抛出以下错误
org.apache.camel.RuntimeExchangeException:Cannot find key [exception] in message body or headers to use when setting named parameter in query
我们如何在路由执行期间从路由访问标头属性?
您可以使用简单的表达式语言来获得异常
异常=:#${异常}
https://camel.apache.org/components/next/languages/simple-language.html
我有一个骆驼路线,它有一个步骤,调用一个子程序将正文的文本部分转换为PDF。不幸的是,没有保留标题。有没有一种方法可以在不丢失当前兑换的情况下获取子例程的值? 子路线 主要路线
问题内容: 我不太确定为什么会收到此错误。这是一个基于express.js的简单API,能够添加和删除帖子。当我触发删除路由器时发生错误。我读到错误通常在有两个回调的情况下发生,但是,我似乎找不到任何双重回调。 这是我的posts.js路由器: 问题答案: 您需要添加“返回”,这样您就不会再次回答。
我有一个由Tomcat托管的静态网站。 如何为我的网站设置标头,例如: 它们都是静态文件,而不是任何servlet应用程序。
说明: callback Gateway::$router 设置Gateway到BusinessWorker路由规则。默认规则是Gateway随机选择一个BusinessWorker进程,然后把当前client_id与这个BusinessWorker进程绑定,以后这个client_id的所有数据(onConnect/onMessage/onClose事件)都交给这个绑定的BusinessWorke
什么是路由设置呢?前面介绍的 MVC 结构执行时,介绍过 beego 存在三种方式的路由:固定路由、正则路由、自动路由,接下来详细的讲解如何使用这三种路由。 基础路由 从 beego 1.2 版本开始支持了基本的 RESTful 函数式路由,应用中的大多数路由都会定义在 routers/router.go 文件中。最简单的 beego 路由由 URI 和闭包函数组成。 基本 GET 路由 beeg
问题内容: 在使用XMLHttpRequest进行AJAX调用时,似乎无法从JavaScript更改大多数请求标头。请注意,必须在Gecko浏览器中调用when。设置_Referer时_ ,它没有设置(我查看了使用Firebug和Tamper Data发送的请求标头)。当我设置User-Agent时,它完全搞砸了AJAX调用。但是,设置接受和_内容类型_确实可以。我们是否无法在Firefox 3中