我试图在Java中编写一个问题,我必须执行一堆任务.
问题
执行由多个任务组成的作业,这些任务之间具有依赖关系.
一个作业将有一个任务列表,每个这样的任务将进一步有一个后续任务列表(每个后继任务将有自己的后续任务 - 你可以在这里看到递归性质).如果以下情况,每个后继任务都可以开始执行
它被配置为在其前任任务的部分执行时执行.在这种情况下,前任任务将通知它已部分完成,我的后续任务可以启动
成功完成其前任任务.
例
具有2个初始任务A和B的作业.A具有2个后继任务M和N.B具有1个后继任务P.P具有2个后继任务Y和Z.
M可以从其前任任务A的部分完成开始.Z可以在其前任任务P的部分完成时开始.N,P和Y可以仅在其前任任务A,B和P分别完成时开始.

我必须设计这样的工作流程/工作的执行.在设计中,我们必须确认先前任务发送的部分完成事件,以便可以启动其后继任务.我该怎么办呢?在并发中是否有适合此问题的设计模式?
我使用Jenkins来构建具有多个模块的项目.该项目有一个root pom.xml,用于构建该项目下的所有模块.我将此pom.xml指定为根POM.
现在我想将测试作为"后构建步骤"运行.但是,我不想在所有模块下运行所有测试.我想仅在特定模块下运行测试.
我尝试使用shell命令将目录更改为必须运行测试的模块,然后触发maven.我还尝试使用-f开关指定该特定模块的pom.xml.这两个步骤都不起作用.
请帮助我们解决这个问题.
谢谢
为什么UserGroupInformation类是这样设计的?为什么UserGroupInformation类的setConfiguration(Configuration conf)方法是静态的?
我的理解是,这将限制客户端每个JVM只能连接到1个集群.
我们如何从单个JVM同时连接到多个集群?我认为这是Hadoop API目前尚未支持的一个非常基本的场景.
任何帮助,将不胜感激.
我有一个通用接口处理程序
public interface Handler<T> {
void handle(T obj);
}
Run Code Online (Sandbox Code Playgroud)
我可以有这个接口的n个实现.假设我现在有以下2个实现.一个处理String对象,另一个处理Date
public class StringHandler implements Handler<String> {
@Override
public void handle(String str) {
System.out.println(str);
}
}
public class DateHandler implements Handler<Date> {
@Override
public void handle(Date date) {
System.out.println(date);
}
}
Run Code Online (Sandbox Code Playgroud)
我想编写一个工厂,它将根据类类型返回处理程序实例.像这样的东西:
class HandlerFactory {
public <T> Handler<T> getHandler(Class<T> clazz) {
if (clazz == String.class) return new StringHandler();
if (clazz == Date.class) return new DateHandler();
}
}
Run Code Online (Sandbox Code Playgroud)
我在这个工厂得到以下错误:
类型不匹配:无法转换
StringHandler为Handler<T>
如何解决这个问题?
这个问题可能看起来很愚蠢但我需要明白这一点.
根据我的理解,跨域问题是当包含IFRAME的网页的域与IFRAME中打开的网页的域不同时.
按照这种逻辑,IFRAME中不应该打开任何东西.
当我在我的网页"top:9700"的IFRAME中嵌入网页"bottom:10700"时,它会出错.我无法在IFRAME中看到内容.错误是Access denied in accessing property 'constructor'
我在访问构造函数时收到错误(_1.contructor)
isc.A.Function=function isc_isA_Function(_1){
if(_1==null) return false;
if(isc.Browser.isIE&&typeof _1==this.$a7) return true;
var _2=_1.constructor;
if(_2&&_2.$k!=null){
if(_2.$k!=1)return false;
if(_2===Function)return true
}
Run Code Online (Sandbox Code Playgroud)
当底部的主页在顶部包含的iframe中打开时,将运行此脚本.
有什么办法,我可以做这个工作.我的意思是我可以将两个域设置为相同.我无法访问远程站点的脚本.
在跨域方案重新映射后调整帧大小.如果没有,那么肯定远程站点正在尝试访问IFRAME元素.如何调试这个?
我想为maven构建的settings.xml指定一个不同于默认值(<USER_HOME>/.m2/settings.xml)的位置.
我试过了-s旗帜,但它没有用.有没有办法做到这一点?
我想在Linux中知道一段时间内进程和所有子进程的CPU利用率.
更具体地说,这是我的用例:
有一个进程等待用户执行程序的请求.为了执行程序,这个过程调用子进程(一次最多限制为5个),并且每个子进程执行其中一个提交的程序(假设用户一次提交了15个程序).因此,如果用户提交了15个程序,那么将运行3批5个子进程.子进程在完成程序执行后立即被终止.
我想知道在执行这15个程序期间父进程及其所有子进程的%CPU利用率.
有没有简单的方法使用top或other命令执行此操作?(或者我应该附加到父进程的任何工具.)
假设我有一个ObjectInfo类,其中包含Object name和Object type作为String.(我只是为了提出问题而做点什么.)
class ObjectInfo {
String objectName;
String objectType;
private ObjectInfo(String objectName, String objectType) {
this.objectName = objectName;
this.objectType = objectType;
}
}
Run Code Online (Sandbox Code Playgroud)
如果我想提供一个静态工厂方法来创建这个类的实例,以下两种方法中的哪一种更好?为什么?
public static ObjectInfo newInstance(String objectName, String objectType) {
return new ObjectInfo(objectName, objectType)
}
public static ObjectInfo valueOf(String objectName, String objectType) {
return new ObjectInfo(objectName, objectType)
}
Run Code Online (Sandbox Code Playgroud)
基本上,我想问的是什么时候我们应该使用valueOf()&newInstance()?程序员社区中是否有任何约定?
-Ankit
我有一个模拟 FK 关系的课程。它有 2 个列表。这些列表分别包含父表和子表的列名称。这些清单是客户传给我的。现在,在创建 FK 对象之前,我认为有必要进行以下检查(按顺序):
所以你可以看到总共有 7 个检查。这么多支票可以吗?
如果可以进行这么多检查,是否有任何模式可以处理此类情况(具有大量验证检查)?
如果不行的话我该怎么办?我是否应该将这些条件记录为合同的一部分,并提及如果违反此合同,API 将产生无意义的结果?
编辑:基本上,我试图获取这两个列表并生成特定于数据库的查询。因此,正确构建该对象非常重要。
我想从输入字符串中提取字符串,并从开头和结尾(如果存在)中删除"/".
例如 :
输入字符串:/abcd
输出字符串:abcd
输入字符串:/abcd/
输出字符串:abcd
输入字符串:abcd/
输出字符串:abcd
输入字符串:abcd
输出字符串:abcd
输入字符串://abcd/
输出字符串:/abcd