在Akka的Scala API中,如何访问已发送给角色的消息对象?也许这个对象比一些琐碎的字符串要复杂得多,也许它包含我要检查和使用的属性:
case class HotSauce(amount : Double, capcaisin : Double)
class SpicyMeatball extends Actor {
override def receive: Receive = {
case HotSauce =>
// How do I get access to the HotSauce message instance?
val capcaisin = ???.getCapcaisin()
}
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
Java 8和Gradle 4.6在这里。我正在尝试将我的Gradle构建配置为使用Jacoco插件,但遇到了一些困难。我已经将其与Checkstyle和Findbugs配合使用,因此运行会./gradlew clean build调用Checkstyle和Findbugs任务,因为它们是check任务的依赖项。
我现在正在尝试让Jacoco进行以下工作:
com.me.myapp.domain.model包裹及其所有内容;和build/目录下生成HTML版本的Jacoco报告;和./gradlew clean build来使Jacoco像这样工作迄今为止我最大的尝试:
plugins {
id 'java-library'
id 'checkstyle'
id 'findbugs'
id 'jacoco'
}
dependencies {
compile(
'org.hibernate:hibernate-core:5.0.12.Final'
,'com.fasterxml.jackson.core:jackson-core:2.8.10'
,'com.fasterxml.jackson.core:jackson-databind:2.8.10'
,'com.fasterxml.jackson.core:jackson-annotations:2.8.0'
)
testCompile(
'junit:junit:4.12'
)
}
repositories {
jcenter()
mavenCentral()
}
checkstyle {
config = rootProject.resources.text.fromFile('buildConfig/checkstyle/checkstyle.xml')
toolVersion = '8.11'
}
tasks.withType(FindBugs) {
reports {
xml.enabled false
html.enabled true
}
}
findbugs {
excludeFilter = file('buildConfig/findbugs/findbugs-exclude.xml')
}
jacocoTestReport …Run Code Online (Sandbox Code Playgroud) Java 8在这里。我有一个myapp-bucket具有以下文件夹子结构的S3存储桶():
/artwork
/upload
/staging
Run Code Online (Sandbox Code Playgroud)
下面是什么myapp-bucket/artwork文件夹的样子:
我有将图像文件上传到/upload文件夹的软件,然后正在编写的另一个应用程序可以处理该图像并将其复制到/staging文件夹中。我必须执行此S3复制的代码如下:
CopyObjectRequest copyObjectRequest = new CopyObjectRequest(
bucketName,
objectKey,
destinationBucket,
destinationKey
);
log.info(
"copying object from s3://{}/{} to s3://{}/{}",
bucketName,
objectKey,
destinationBucket,
destinationKey
);
// Constructed via
AmazonS3 amazonS3 = AmazonS3ClientBuilder.standard().withRegion(Regions.US_EAST_1).build();
amazonS3.copyObject(copyObjectRequest);
Run Code Online (Sandbox Code Playgroud)
运行此命令时,我看到以下日志输出:
[main] DEBUG com.me.myapp.ImageProcessor - copying object from s3://myapp-bucket/artwork/upload/rlj_amp244001_270.jpeg to s3://myapp-bucket/artwork/staging
Run Code Online (Sandbox Code Playgroud)
但是myapp-bucket/artwork文件夹的最终状态如下所示:
因此,看起来它不是复制myapp-bucket/artwork/upload/<theImageFile>到myapp-bucket/artwork/staging/目录中,而是直接在其下创建一个新文件/artwork并为其命名staging,并且可能将映像的二进制内容复制到该登台文件中。我要去哪里了?!我只想结束myapp-bucket/artwork/staging/<theImageFile>-预先感谢!
我对Swing Event Dispatcher Thread(EDT)的理解是,它是执行事件处理代码的专用线程。因此,如果我的理解是正确的,那么在下面的示例中:
private class ButtonClickListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
// START EDT
String command = e.getActionCommand();
if( command.equals( "OK" )) {
statusLabel.setText("Ok Button clicked.");
} else if( command.equals( "Submit" ) ) {
statusLabel.setText("Submit Button clicked.");
} else {
statusLabel.setText("Cancel Button clicked.");
}
// END EDT
}
}
Run Code Online (Sandbox Code Playgroud)
在之间的所有代码START EDT,并END EDT在在美国东部时间执行,并且它的任何代码以外的主应用程序线程上执行。同样,另一个示例:
// OUTSIDE EDT
JFrame mainFrame = new JFrame("Java SWING Examples");
mainFrame.setSize(400,400);
mainFrame.setLayout(new GridLayout(3, 1));
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent …Run Code Online (Sandbox Code Playgroud) 这里的Java 8使用Apache POI 4.1将Excel(XLSX)文件加载到内存中,并将Java bean / POJO的列表写回到新的Excel文件中。
对我来说,一个Excel文件(至少是我正在使用的文件)实际上是POJO的列表,每一行都是POJO的不同实例,每一列都是该实例的不同字段值。观察:
在这里,我可能有一个名为POJO的POJO Car,而上面的示例电子表格是List<Car>:
@Getter
@Setter
public class Car {
private String manufacturer;
private String model;
private String color;
private String year;
private BigDecimal price;
}
Run Code Online (Sandbox Code Playgroud)
因此,我有正常运行的代码,可以将Excel文件(“ new-cars.xlsx”)读入List<Car>,处理该列表,然后将处理后的列表写回到输出文件,例如“ processed-cars.xlsx”:
// 1. Load excel file into a List<Car>
InputStream inp = new FileInputStream("new-cars.xlsx");
Workbook workbook = WorkbookFactory.create(inp);
Iterator<Row> iterator = workbook.getSheetAt(0).iterator();
List<Car> carsInventory = new ArrayList<>();
while (iterator.hasNext()) {
Car car = new Car();
Row currentRow …Run Code Online (Sandbox Code Playgroud) Scala 2.12和Spark 2.2.1在这里.我有以下代码:
myDf.show(5)
myDf.withColumn("rank", myDf("rank") * 10)
myDf.withColumn("lastRanOn", current_date())
println("And now:")
myDf.show(5)
Run Code Online (Sandbox Code Playgroud)
当我运行它时,在日志中我看到:
+---------+-----------+----+
|fizz|buzz|rizzrankrid|rank|
+---------+-----------+----+
| 2| 5| 1440370637| 128|
| 2| 5| 2114144780|1352|
| 2| 8| 199559784|3233|
| 2| 5| 1522258372| 895|
| 2| 9| 918480276| 882|
+---------+-----------+----+
And now:
+---------+-----------+-----+
|fizz|buzz|rizzrankrid| rank|
+---------+-----------+-----+
| 2| 5| 1440370637| 1280|
| 2| 5| 2114144780|13520|
| 2| 8| 199559784|32330|
| 2| 5| 1522258372| 8950|
| 2| 9| 918480276| 8820|
+---------+-----------+-----+
Run Code Online (Sandbox Code Playgroud)
非常有趣:
withColumn工作,rank通过将自己乘以10来转换每一行的值withColumn失败,只是将当前日期/时间作为新 …Postgres在这里;我有一个Users包含以下字段的表:
create table Users (
id bigserial primary key,
isAdmin boolean not null default false,
beginDate timestamp with time zone not null,
updated timestamp with time zone
);
Run Code Online (Sandbox Code Playgroud)
我想写一个查询来获取所有Users记录:
beginDate过去24小时(包括性)内的值; 和updated是值较旧的(唯一的)超过24小时到目前为止,我最好的尝试是:
select *
from
Users
where
beginDate >= NOW() - INTERVAL 1 DAY and
updated < NOW() - INTERVAL 1 DAY
Run Code Online (Sandbox Code Playgroud)
但这给了em以下错误:
ERROR: syntax error at or near "1"
Position: 59
beginDate >= NOW() - INTERVAL 1 DAY …Run Code Online (Sandbox Code Playgroud)