Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何根据数据库中的类名执行代码_Java - Fatal编程技术网

Java 如何根据数据库中的类名执行代码

Java 如何根据数据库中的类名执行代码,java,Java,我的应用程序需要根据一些业务逻辑向客户发送一些通知(将来)。 我需要在数据库中保存所有这些通知和一些BAIC信息(称它们为SMSJob或EmailJob之类的作业)。其中一列将具有每个特定作业的类名。 现在将有另一个逻辑,它将查询数据库并获取所有这些作业,然后开始逐个执行它们。正如Mikhail和Arsen所建议的,我可以使用反射根据类的名称创建所有类的实例 是否有类似的代码我可以参考。在nut shell中,我只是尝试实现quartz正在证明的类似功能。我有非常严格的时间表,所以任何对文章或代

我的应用程序需要根据一些业务逻辑向客户发送一些通知(将来)。 我需要在数据库中保存所有这些通知和一些BAIC信息(称它们为SMSJob或EmailJob之类的作业)。其中一列将具有每个特定作业的类名。 现在将有另一个逻辑,它将查询数据库并获取所有这些作业,然后开始逐个执行它们。正如Mikhail和Arsen所建议的,我可以使用反射根据类的名称创建所有类的实例

是否有类似的代码我可以参考。在nut shell中,我只是尝试实现quartz正在证明的类似功能。我有非常严格的时间表,所以任何对文章或代码的引用都会对我很有帮助


提前感谢。

您需要使用反射。如果您的类实现了
Runnable
接口,请执行以下操作:

Class <?> clazz = Class.forName (classNameFromDB);
Runnable runnable = (Runnable)clazz.newInstance ();
runnable.run ();
Class clazz=Class.forName(classNameFromDB);
Runnable Runnable=(Runnable)clazz.newInstance();
runnable.run();

您需要使用反射。如果您的类实现了
Runnable
接口,请执行以下操作:

Class <?> clazz = Class.forName (classNameFromDB);
Runnable runnable = (Runnable)clazz.newInstance ();
runnable.run ();
Class clazz=Class.forName(classNameFromDB);
Runnable Runnable=(Runnable)clazz.newInstance();
runnable.run();

您的类需要使用例如
execute()
方法覆盖一些基本接口。在从数据库中检索它们之后,您可以使用反射来执行它们。

您的类需要使用例如
execute()
方法为它们重写一些基本接口。从数据库中检索后,您可以使用反射来执行它们。

请提供更多信息。这太模糊了。你说“运行一些作业”是什么意思?你说“我应该如何执行它们”是什么意思?更新以获得更多澄清。请提供更多信息。这太模糊了。你说“运行一些作业”是什么意思?你说“我应该如何执行它们”是什么意思?更新以获得更多说明。
((Class)Class.forName(n)).newInstance().run()如何?如何
((Class)Class.forName(n)).newInstance().run()