如何为执行我的工作建立容器类的东西

时间:2011-10-04 17:15:06

标签: java

我想开发一个人们可以使用的框架(例如自动化)。想法是我构建一个容器类的东西(例如tomcat但不完全像网络服务器)。容器将有一个xml文件,它将保存要执行的类的内容。 (例如像tomcat的web.xml)

例如xml(run.xml)可以如下

<job>jobNameXyz</job>
<class>com.pkg.jobXyz <class>

每个xml作业类都应该发布MyBaseClass,就像servlet如何扩展HttpServlet和覆盖一样 指定方法doJob

public class MyClass extends Job{

  public String doJob(){
   //do some thing
  }

}

当我将Myclass放入我的连续体并触发容器时,该作业必须运行并且方法为doJob 如何做到这一点?任何人都可以通过将他的类文件放在我们的目录中然后编辑run.xml来进入部署他的工作 如何做到这一点?任何指导方针

2 个答案:

答案 0 :(得分:1)

您的容器应解析XML文件,提取类名列表,为所有类名调用Class.forName,以获取Class个对象的列表。然后使用Class.newInstance调用每个类的默认构造函数,将创建的对象强制转换为Job,并调用它们的doJob方法。

答案 1 :(得分:1)

我会为此目的使用(并且一直在使用)ANT。

编辑:

我使用的几种技术是:

  1. 使用ANT exec任务
  2. 使用自定义ANT task
  3. 无论您使用哪种技术,我们的想法是调用ANT来执行构建文件。这可以通过外部调用ANT进程(例如使用Runtime.exec java ant)或调用构建文件programmatically来调用。