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);
  }
}
时间: 2024-12-20 11:54:41

java function retry wrapper的相关文章

Java——包装类(Wrapper)

2.7包装类(Wrapper) 基本数据类型由于不是类,不能够使用java类库里提供的大量的方法.所有在设计上,我们让每一个基本数据类型都对应一个类,同时数据存储的范围还不变.此时相当于基本数据类型就具有了类的特点.针对八种基本定义相应的引用类型—包装类(wrapper 或封装类).有了类的特点,就可以调用类中的方法. 2.7.1 装箱 基本数据类型包装成包装类的实例    ---装箱 通过包装类的构造器实现: int i = 500;   Integer t = new Integer(i);

java + function总结,不断搜集中。。。

一.获取某个区间的随机值 public static float rnd(float min, float max) { float fRandNum = (float)Math.random(); //返回一个0~1的随机值 return min + (max - min) * fRandNum; } 二.

Java Service Wrapper配置详解

1 #encoding=UTF-8 2 # Configuration files must begin with a line specifying the encoding 3 # of the the file. 4 5 #******************************************************************** 6 # Wrapper License Properties (Ignored by Community Edition) 7 #*

Java Service Wrapper 发布Java程序为Windows服务

下载Windows版本:http://nchc.dl.sourceforge.net/sourceforge/wrapper/wrapper-windows-x86-32-3.2.3.zip 现在目前只要32位有免费的,64位免费版目前还没有做出来.官网上(社区)那一列是免费的. 1.先把你的项目用MANIFEST.MF打成jar包,例如bb.jar.新建目录,例如:dist,放在D盘下面.把bb.jar放到dist目录下. 2.在dist目录下新建conf,lib,log三个文件夹.conf是

使用Java Service Wrapper将jar包安装成Windows服务

在windows上运行jar包,需要在工作目录下使用命令行运行jar包,这样会出现一个命令行窗口.而且这个命令行窗口有可能会不小心被关闭,且服务器启动后需要人为去点击开启. 对于有些服务性的程序来说,我们需要将其部署为windows服务,在系统启动的时候自动启动. 前面我使用了yajsw来进行,请参考我的博文:http://www.cnblogs.com/kxxx/p/6744309.html 但本次在另外一台服务器上进行处理时,安装了服务之后不能打开,服务每次都报找不到指定文件的错误,试了很久

PatentTips – Java native function calling

BACKGROUND OF INVENTION This invention relates to a system and method for providing a native function call facility. In particular it relates to a system and method for providing a native function call facility in a Java Virtual Machine (JVM) for pla

利用JAVA Service Wrapper把JAVA程序做成windows服务

今天复习了一下Java的基础知识,做了一个读取数据入库的程序.由于读取的数据每天都更新,于是就想把程序做成一个服务,每天定时执行.研究了一下,发现有几种方式可以做.下面我主要记录一下JAVA Service Wrapper方式.除此之外,我会把一些基本内容也贴上,以后复习所用. 一.下面是整个程序的功能部分: 1.连接数据库的功能.我写了一个DBConnecter类,是一个单例. public class DBConnecter { private static DBConnecter inst

wrapper serive 做java play应用程序的一些坑

wrapper下载地址:https://wrapper.tanukisoftware.com/doc/english/download.jsp#downloadNote1 出现一些坑,都是wrapper.conf配置出现的问题,把wrapper贴出来 #encoding=UTF-8 # Configuration files must begin with a line specifying the encoding # of the the file. #*******************

从.Net到Java学习第十一篇——SpringBoot登录实现

通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如何来验证我们的学习成果呢?当然是通过做项目来证明啦!所以从这一篇开始我将会对之前自己做的.net项目用java来重写.这一篇,我们来现实登录模块. 一提到登录,我们首先想到的基本的功能点就有如下: 输入:用户名.密码.验证码. 登录成功后,跳转到后台.如果未登录直接访问后台,将会跳转到登录页面. 这里暂不考虑复杂的登录实现. 技术选型,沿用前面用到的知识点.那么这里较之于之前的文章,新用到的一个就是图片验证码,一个就