草庐IT

retry-logic

全部标签

java - 失败的 "retrying"逻辑的设计模式?

我正在编写一些重新连接逻辑,以定期尝试建立与已关闭的远程端点的连接。本质上,代码如下所示:publicvoidestablishConnection(){try{this.connection=newConnection();}catch(IOExceptione){//connectionfailed,tryagain.try{Thread.sleep(1000);}catch(InterruptedExceptione){};establishConnection();}}我已经多次使用与上述类似的代码解决了这个普遍问题,但我对结果很不满意。是否有专门用于处理此问题的设计模式?

java - Spring 乐观锁定 :How to retry transactional method till commit is successful

我将Spring2.5和HibernateJPA实现与Java和“容器”托管事务一起使用。我有一个“用户提交后”方法,它在后台更新数据,并且无论ConcurrencyFailureException或StaleObjectStateException异常如何都需要提交,因为它永远不会显示给客户。换句话说,需要把乐观锁变成悲观。(如果方法执行需要更长的时间并且有人在其他事务中更改了数据,则可能会发生)我读了很多关于幂等的东西,如果searchforDEFAULT_MAX_RETRIES出现异常,请重试或6.2.7.Example或chapter14.5.Retry.我还在stackove

java - Spring 乐观锁定 :How to retry transactional method till commit is successful

我将Spring2.5和HibernateJPA实现与Java和“容器”托管事务一起使用。我有一个“用户提交后”方法,它在后台更新数据,并且无论ConcurrencyFailureException或StaleObjectStateException异常如何都需要提交,因为它永远不会显示给客户。换句话说,需要把乐观锁变成悲观。(如果方法执行需要更长的时间并且有人在其他事务中更改了数据,则可能会发生)我读了很多关于幂等的东西,如果searchforDEFAULT_MAX_RETRIES出现异常,请重试或6.2.7.Example或chapter14.5.Retry.我还在stackove

hibernate - "migrate business logic code into our domain model"是个好主意吗?

我正在阅读HibernateinAction,作者建议将业务逻辑移动到我们的域模型中(第306页)。例如,在本书提供的示例中,我们有三个实体,分别名为Item、Bid和User,作者建议添加一个placeBid(Userbidder,BigDecimalamount)方法到Item类。考虑到通常我们有一个独特的业务逻辑层(例如Spring中的Manager或Service类),其中包括控制事务等,这真的是一个好建议?不给我们的实体添加业务逻辑方法不是更好吗?提前致谢。 最佳答案 如前所述Wehaveadistinctlayerfor

hibernate - "migrate business logic code into our domain model"是个好主意吗?

我正在阅读HibernateinAction,作者建议将业务逻辑移动到我们的域模型中(第306页)。例如,在本书提供的示例中,我们有三个实体,分别名为Item、Bid和User,作者建议添加一个placeBid(Userbidder,BigDecimalamount)方法到Item类。考虑到通常我们有一个独特的业务逻辑层(例如Spring中的Manager或Service类),其中包括控制事务等,这真的是一个好建议?不给我们的实体添加业务逻辑方法不是更好吗?提前致谢。 最佳答案 如前所述Wehaveadistinctlayerfor

javascript - 在 iOS 应用中动态加载 'code logic' 是否可行?

我正在看这个WWDCsession:IntegratingJavaScriptintoNativeApps我的理解是,这是Obj-C和javascript之间的桥梁,它允许从Obj-C调用javascript代码,反之亦然。我想知道,这是否意味着我可以使用javascript从服务器动态加载我的“代码逻辑”,就像在Web应用程序中一样?我应该如何构建我的代码,以便我的大部分代码都在javascript中(当然,仍然需要Obj-C来驱动js代码)。如果这是可行的,那么将变更部署到iOS项目将不再是痛苦的经历(等待审核和用户升级等),开发可以更加敏捷。我知道一些团队使用phonegap和类

hadoop - Hive cdh4 节俭设置抛出 NoSuchFieldError : METASTORE THRIFT RETRIES

我使用mysql在RHEL5上使用远程元存储设置Hivecdh4。我在mysql中创建了一个与hive-site.xml同名的数据库。我启动了Metastore服务器和Hive服务器,但每当我尝试查询Hive时,它​​都会抛出一个错误NoSuchFieldError:METASTORETHRIFTRETRIES。我认为我无法连接到Metastore服务器或thrift服务器,这是导致此问题的原因。请为我指明正确的道路。 最佳答案 您是否从$HIVE_HOME/scripts/metastore/upgrade/mysql运行Hive

java - DataNode 无法连接名称节点 - "org.apache.hadoop.ipc.Client: Retrying connect to server"

我已经部署了一个具有1个名称节点和2个数据节点的Hadoop3.1.2集群。NameNode已UP,secondaryNameNode和ResourceManager也up为MasterNode,但DataNode无法连接NameNode,因此没有显示容量。我一直在尝试找出错误可能是什么,但到目前为止还没有成功。删除了域解析,因为我遇到了奇怪的错误:WARNING:AttemptingtostartallApacheHadoopdaemonsashadoopin10seconds.WARNING:Thisisnotarecommendedproductiondeploymentconf

docker - 重试连接到服务器 : Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 毫秒)

我有三个物理节点。在每个节点中,我使用此命令进入docker。dockerrun-v/home/user/.ssh:/root/.ssh--privileged-p5050:5050-p5051:5051-p5052:5052-p2181:2181-p8089:8081-p6123:6123-p8084:8080-p50090:50090-p50070:50070-p9000:9000-p2888:2888-p3888:3888-p4041:4040-p8020:8020-p8485:8485-p7078:7077-p52222:22-eWEAVE_CIDR=10.32.0.3/12-

hadoop - 在Kafka中如果参数 "retries"设置为1或更多,那么会自动重试吗?

retries参数说明Settingavaluegreaterthanzerowillcausetheclienttoresendanyrecordwhosesendfailswithapotentiallytransienterror.Notethatthisretryisnodifferentthaniftheclientresenttherecorduponreceivingtheerror.我想确认的是kafka框架自动重试还是需要客户端额外处理。如果它是自动完成的,并且说retries设置为1。如果record的发送在第二次尝试时也失败了,那么kafka会在重试和停止重试时以