我想开发一个人们可以使用的框架(例如自动化)。想法是我构建一个容器类的东西(例如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来进入部署他的工作 如何做到这一点?任何指导方针
答案 0 :(得分:1)
您的容器应解析XML文件,提取类名列表,为所有类名调用Class.forName
,以获取Class
个对象的列表。然后使用Class.newInstance
调用每个类的默认构造函数,将创建的对象强制转换为Job
,并调用它们的doJob
方法。
答案 1 :(得分:1)
我会为此目的使用(并且一直在使用)ANT。
编辑:
我使用的几种技术是:
无论您使用哪种技术,我们的想法是调用ANT来执行构建文件。这可以通过外部调用ANT进程(例如使用Runtime.exec java ant)或调用构建文件programmatically来调用。