我正在用Java编写一个名为MyApp的Spark应用程序,我有以下代码:
<form action="" method="post">
Last part of url <input type="text" name="url"><br/>
<input type="submit" name="submit" value="Submit">
<?php
if (isset($_POST['submit']))
{
$string1 = 'www.cambodia.me.uk/';
$string = $_POST['url'];
header('Location: http://www.cambodia.me.uk/'.$string);
}
?>
当我运行我的包的测试时,这个应用程序挂起。但是,如果我使用lambda函数而不是传入方法引用,就像这样
final JavaRDD<MyClass<MyInnerClass>> myRDD = ...
myRDD.repartition(50).map(ObjectMapperFactory.OBJECT_MAPPER_MIXIN::writeValueAsString)
.saveAsTextFile(outputPath, GzipCodec.class);
然后测试工作正常。唯一的变化是在map语句中。我正在使用Java 8,Spark 1.5.2并以本地模式运行集群。
编辑:如果我自己运行MyApp测试,那么测试可以正常使用旧代码。但是,如果我运行完整的测试套件,应用程序开始挂起时就是这样。我的包中还有其他java spark应用程序。