有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

hibernate通过从derby数据库获取程序名来调度java程序

这就是我所做的

mgr.addAlarm(new AlarmEntry("ComplexCron2",new int[]{dtime,10,28}, new int[]{16}, new int[]{-1}, new int[]{-1}, new int[]{Calendar.TUESDAY}, -1, new AlarmListener() {
  public void handleAlarm(final AlarmEntry entry) {


      Addempnew.main(null);
    System.out.println("\u0007Cron complex2 (" + new Date() + ")");
  }
}));

这是新的。main(null)是一个java程序,我想安排它。但我不想直接使用程序名,而是想从数据库中获取它


共 (1) 个答案

  1. # 1 楼答案

    你必须

    // 1. Load class Addempnew:
    Class cl=Class.forName("Addempnew");
    //Exceptions may occur, catch them.
    
    // 2. retrieve static method main(String[]) via reflection:
    Method m=cl.getMethod("main", String[].class);
    
    // 3. call retrieved method via reflection:
    m.invoke(null, null);
    

    所有这些步骤都在别处描述