当前位置: 首页 > 知识库问答 >
问题:

Mule DevKit连接器、连接管理和重新连接策略

公羊曜灿
2023-03-14

使用DevKit编写的自定义Mule连接器是否应该默认兼容重连策略。例如,我按照http://www . mulesoft . org/documentation/display/current/Implementing Connection Management编写了一个使用连接管理的连接器

当我设置错误条件并且我的@Connect方法抛出ConnectionException时,我的流停止并且连接器不会尝试重新连接,尽管有全局配置元素:

<configuration>
    <reconnect-forever frequency="2000"/>
</configuration>

我知道这个配置正在工作,因为它对JDBC传输有预期的影响,但对我的自定义连接器没有影响。

我是否遗漏了一些基本的东西?自定义连接器是否应该与永久重新连接策略一起工作?

我用的是Mule 3.4 CE和DevKit 3.4

感谢您在正确方向上提供的任何帮助或指导。

共有1个答案

葛威
2023-03-14

在DevKit中,为了让您的操作触发重新连接机制,您需要用@ReconnectOn注释标记处理器,并指定将触发重新连接的异常。

@Processor
@ReconnectOn(exceptions = {TypeAException.class, TypeBException.class})
public boolean fooProcessor(String param) 
                         throws TypeAException, TypeBException, TypeCException;

在此示例中,TypeCException的异常不会触发重新连接,其他异常会。

如果您的@ValidateConnection方法返回true,则不会再次调用@Connect。

 类似资料:
  • 问题内容: 在生产中,我有一个使用连接局部变量保存游戏状态的游戏。但是,我注意到,如果我在连接上闲置了一段时间,它将断开连接并重新连接,这将丢失当前状态。在本地主机上进行测试时,我从未注意到此行为。这是套接字连接的规范行为,还是导致连接断开的其他原因。 如果是正常行为,通常如何处理?是否应该将连接值全局存储,以便用户断开/重新连接时可以恢复连接值? 问题答案: 您的问题与套接字超时有关。如果某个套

  • 创建一个连接 类org.jivesoftware.smack.XMPPConnection管理你的XMPP服务器的连接,默认实现类为org.jivesoftware.smack.XMPPTCPConnection。 主要是使用两个构造函数,第一个是 XMPPTCPConnection(String) ,它把 你想连接到服务器名称 作为参数。 连接和断开 // Create the configur

  • 我们正在用Java重写来自PHP的web应用程序。我认为,但我不是很确定,我们可能会在连接池方面遇到问题。应用程序本身是多租户的,是“独立数据库”和“独立模式”的组合。 对于每个Postgres数据库服务器实例,可以有一个以上的数据库(命名为schemax_XXX),其中包含一个以上的模式(模式是租户)。注册时,可能会发生以下两种情况之一: 在编号最高的schema_XXX数据库中创建新的租户模式

  • HTTP 连接管理器架构概述 HTTP 协议架构概述 v1 API 参考 v2 API 参考 路由匹配 流量转移/分流 上游主机间的流量转移 多上游主机的流量分流 HTTP头部操作 user-agent server x-client-trace-id x-envoy-downstream-service-cluster x-envoy-downstream-service-node x-envo

  • 如果问题模棱两可,请道歉。

  • 管理交易 在 1.4 版更改: 对会话事务管理进行了修改,使其更清晰、更易于使用。特别是,它现在具有“autobegin”操作的特点,这意味着事务开始的点可以被控制,而不必使用传统的“autocommit”模式。 这个 Session 一次跟踪单个“虚拟”事务的状态,使用一个名为 SessionTransaction 。然后,该对象利用基础的 Engine 或引擎,而这些引擎 Session 对象

  • 重新建立mqtt连接,前提是必须已经通过Iot_id,Iot_pwd建立过一次mqtt连接。 请求方式: "|4|1|5|\r" 返回值: "|4|1|1|1|\r" mqtt连接状态:连接成功 "|4|1|1|2|reason|\r" mqtt连接状态:连接失败,字符串reason表示失败的原因 Arduino样例: softSerial.print("|4|1|5|\r");

  • 重新连接上一次连接的wifi。 请求方式: "|2|3|\r" 返回值: "|2|1|\r" wifi连接状态:wifi断开连接 "|2|2|\r" wifi连接状态:正在连接wifi "|2|3|ip|\r" wifi连接状态:wifi连接成功,返回OBLOQ的ip地址 "|2|4|\r" wifi连接状态:wifi连接失败,检查SSID和PWD是否输入正确 Arduino样例: softSer