java function retry wrapper
import java.util.concurrent.Callable; /**
* Created by huahui.yang on 1/29/16.
*/
public class RetryWrapper<A> {
public A retry(Callable<A> callable) throws Exception {
A result = null;
for (int i = 0; i < 3; i++) {
System.out.println("retry time remain:" + (3 - i));
try {
result = callable.call();
break;
} catch (Exception e) {
}
}
return result;
}
}
/**
* Created by huahui.yang on 1/29/16.
*/
public class JOB {
public int add(int i, int j) throws Exception {
throw new Exception("error");
// return i+j;
}
}
import java.util.concurrent.Callable; /**
* Created by huahui.yang on 1/29/16.
*/
public class JOBExample {
public static void main(String[] args) throws Exception{
int i = new RetryWrapper<Integer>().retry(new Callable<Integer>() {
@Override
public Integer call() throws Exception {
return new JOB().add(1,2);
}
});
System.out.print(i);
}
}
java function retry wrapper的更多相关文章
- use sql trigger call java function
Use UDF sys_exec to do this. You can use this link to use sys_exec function. It says, sys_exec sys_e ...
- 【java基础】Java的retry标记的使用
说明:其实retry就是一个标记,标记程序跳出循环的时候从哪里开始执行,功能类似于goto.retry一般都是跟随者for循环出现,第一个retry的下面一行就是for循环,而且第二个retry的前面 ...
- Java之Retry重试机制详解
应用中需要实现一个功能: 需要将数据上传到远程存储服务,同时在返回处理成功情况下做其他操作.这个功能不复杂,分为两个步骤:第一步调用远程的Rest服务上传数据后对返回的结果进行处理:第二步拿到第一步结 ...
- Java——包装类(Wrapper)
2.7包装类(Wrapper) 基本数据类型由于不是类,不能够使用java类库里提供的大量的方法.所有在设计上,我们让每一个基本数据类型都对应一个类,同时数据存储的范围还不变.此时相当于基本数据类型就 ...
- Java Service Wrapper简介与使用
在实际开发过程中很多模块需要独立运行,他们并不会以web形式发布,传统的做法是将其压缩为jar包独立运行,这种形式简单易行也比较利于维护,但是一旦服务器重启或出现异常时,程序往往无法自行修复或重启.解 ...
- 使用 Java Service Wrapper 启动java后台进程服务
Java Service Wrapper (http://wrapper.tanukisoftware.com/doc/english/product-overview.html)可以很方便得在各个平 ...
- 利用JAVA Service Wrapper把JAVA程序做成windows服务
今天做了一个读取数据入库的程序.由于读取的数据每天都更新,于是就想把程序做成一个服务,每天定时执行.研究了一下,发现有几种方式可以做.下面我主要记录一下JAVA Service Wrapper方式. ...
- 利用Java Service Wrapper将java项目添加到windows服务中
1.web项目,即tomcat/resin添加至window系统服务,步骤如下:第一步:找到tomcat的bin目录,如:D:\apache-tomcat-8.0.26\bin第二步:打开cmd,cd ...
- Java Service Wrapper配置详解
#encoding=UTF-8 # Configuration files must begin with a line specifying the encoding # of the the fi ...
随机推荐
- mac gem install nokogiri error
Gem::Ext::BuildError: ERROR: Failed to build gem native extension. /Users/angela/.rbenv/versions/1.9 ...
- JavaScript生成新标签的三个方法(摘抄自留)
<div id="d1"></div> <script> //HTML function a(){ document.getElementByI ...
- python模块引用问题(比较杂乱,懒得整理)
1 在stackoverflows摘抄 If the import module in the same dir, use e.g: from . import core If the import ...
- AlloyTouch插件
1.老样子引入js <script src="js/transform.js"></script> <script src="js/allo ...
- java 写文本换行
import org.apache.commons.io.FileUtils; public static void main(String[] args) throws IOException { ...
- Bootstrap表单验证插件bootstrapValidator使用方法整理
插件介绍 先上一个图: 下载地址:https://github.com/nghuuphuoc/bootstrapvalidator 使用方法:http://www.cnblogs.com/huangc ...
- MySql: 查看当前登录用户,当前数据库
mysql> select user();+----------------+| user() |+----------------+| root@localhost |+----------- ...
- iOS CoreData 中 objectID 的不变性
关于 CoreData的 objectID 官方文档有这样的表述:新建的Object还没保存到持久化存储上,那么它的objectID是临时id,而保存之后,就是持久化的id,不会再变化了. 那么,我想 ...
- js_原型
原型是JavaScript中一个比较难理解的概念,原型相关的属性也比较多,对象有"prototype"属性,函数对象有"prototype"属性,原型对象有&q ...
- tp5 中 model 的获取器
在获取数据的字段值后自动进行处理 // 模型中写入如下代码,则查询结果会自动将status的结果进行转换 class User extends Model { public function getS ...