小编use*_*820的帖子

如何为一系列任务设计执行引擎

我试图在Java中编写一个问题,我必须执行一堆任务.

问题

执行由多个任务组成的作业,这些任务之间具有依赖关系.

一个作业将有一个任务列表,每个这样的任务将进一步有一个后续任务列表(每个后继任务将有自己的后续任务 - 你可以在这里看到递归性质).如果以下情况,每个后继任务都可以开始执行

  1. 它被配置为在其前任任务的部分执行时执行.在这种情况下,前任任务将通知它已部分完成,我的后续任务可以启动

  2. 成功完成其前任任务.

具有2个初始任务A和B的作业.A具有2个后继任务M和N.B具有1个后继任务P.P具有2个后继任务Y和Z.

M可以从其前任任务A的部分完成开始.Z可以在其前任任务P的部分完成时开始.N,P和Y可以仅在其前任任务A,B和P分别完成时开始.

任务层次结构(A和B可以并行启动)

我必须设计这样的工作流程/工作的执行.在设计中,我们必须确认先前任务发送的部分完成事件,以便可以启动其后继任务.我该怎么办呢?在并发中是否有适合此问题的设计模式?

java concurrency multithreading

26
推荐指数
4
解决办法
4352
查看次数

如何通过maven测试Jenkins项目下的特定模块?

我使用Jenkins来构建具有多个模块的项目.该项目有一个root pom.xml,用于构建该项目下的所有模块.我将此pom.xml指定为根POM.

现在我想将测试作为"后构建步骤"运行.但是,我不想在所有模块下运行所有​​测试.我想仅在特定模块下运行测试.

我尝试使用shell命令将目录更改为必须运行测试的模块,然后触发maven.我还尝试使用-f开关指定该特定模块的pom.xml.这两个步骤都不起作用.

请帮助我们解决这个问题.

谢谢

continuous-integration maven-2 maven jenkins

13
推荐指数
1
解决办法
9185
查看次数

为什么UserGroupInformation类的setConfiguration(Configuration conf)方法是静态的?

为什么UserGroupInformation类是这样设计的?为什么UserGroupInformation类的setConfiguration(Configuration conf)方法是静态的?

我的理解是,这将限制客户端每个JVM只能连接到1个集群.

我们如何从单个JVM同时连接到多个集群?我认为这是Hadoop API目前尚未支持的一个非常基本的场景.

任何帮助,将不胜感激.

java hadoop hdfs

12
推荐指数
1
解决办法
604
查看次数

如何用Java中的泛型实现工厂模式?

我有一个通用接口处理程序

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)

我在这个工厂得到以下错误:

类型不匹配:无法转换StringHandlerHandler<T>

如何解决这个问题?

java generics factory

11
推荐指数
2
解决办法
9614
查看次数

了解Iframe中的跨域问题

这个问题可能看起来很愚蠢但我需要明白这一点.

根据我的理解,跨域问题是当包含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元素.如何调试这个?

html javascript iframe

9
推荐指数
1
解决办法
3万
查看次数

在Jenkins中为settings.xml指定一个单独的位置

我想为maven构建的settings.xml指定一个不同于默认值(<USER_HOME>/.m2/settings.xml)的位置.

我试过了-s旗帜,但它没有用.有没有办法做到这一点?

continuous-integration jenkins

9
推荐指数
3
解决办法
2万
查看次数

如何在Linux中计算进程及其所有子进程的CPU利用率?

我想在Linux中知道一段时间内进程和所有子进程的CPU利用率.

更具体地说,这是我的用例:

有一个进程等待用户执行程序的请求.为了执行程序,这个过程调用子进程(一次最多限制为5个),并且每个子进程执行其中一个提交的程序(假设用户一次提交了15个程序).因此,如果用户提交了15个程序,那么将运行3批5个子进程.子进程在完成程序执行后立即被终止.

我想知道在执行这15个程序期间父进程及其所有子进程的%CPU利用率.

有没有简单的方法使用top或other命令执行此操作?(或者我应该附加到父进程的任何工具.)

linux cpu-usage

8
推荐指数
1
解决办法
2万
查看次数

在valueOf()和newInstance()之间选择的标准是什么?

假设我有一个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

java coding-style factory-method

5
推荐指数
0
解决办法
645
查看次数

在创建对象之前如何处理大量必要的验证检查?

我有一个模拟 FK 关系的课程。它有 2 个列表。这些列表分别包含父表和子表的列名称。这些清单是客户传给我的。现在,在创建 FK 对象之前,我认为有必要进行以下检查(按顺序):

  1. 检查列表是否不为空。
  2. 检查列表是否包含 null。
  3. 如果列表包含重复的列?
  4. 两个列表的大小相等。

所以你可以看到总共有 7 个检查。这么多支票可以吗?

如果可以进行这么多检查,是否有任何模式可以处理此类情况(具有大量验证检查)?

如果不行的话我该怎么办?我是否应该将这些条件记录为合同的一部分,并提及如果违反此合同,API 将产生无意义的结果?

编辑:基本上,我试图获取这两个列表并生成特定于数据库的查询。因此,正确构建该对象非常重要。

java design-patterns

5
推荐指数
1
解决办法
856
查看次数

用于提取子字符串的正则表达式

我想从输入字符串中提取字符串,并从开头和结尾(如果存在)中删除"/".

例如 :

输入字符串:/abcd 输出字符串:abcd

输入字符串:/abcd/ 输出字符串:abcd

输入字符串:abcd/ 输出字符串:abcd

输入字符串:abcd 输出字符串:abcd

输入字符串://abcd/ 输出字符串:/abcd

java regex

0
推荐指数
1
解决办法
141
查看次数