您好,我有一个由多个线程同时执行的方法,用于连接到 s3 存储桶对象并读取元数据。所有这些方法都使用单个 s3 客户端对象。根据 Amazon Java SDK 文档,我发现 s3Clients 是线程安全对象。以下实现方式会导致死锁或性能问题吗?在 s3 客户端使用多线程时,这是正确的实现方式吗?
public class S3Client {
// static method that returns the s3 client for all the requests
public static AmazonS3 getS3Client(){
return AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
}
}
Run Code Online (Sandbox Code Playgroud)
还有另一个类(RequestHandler->readObject 方法)将由多个线程并发执行。因此将针对每个请求执行。
public class RequestHandler {
// Multiple concurrent threads are accessing this method
public void readObject(){
AmazonS3 s3Client = S3Client.getS3Client();
ListObjectsV2Result result = s3Client.listObjectsV2("bucket_name");
}
}
Run Code Online (Sandbox Code Playgroud)
请指教。提前致谢!!
我有一个简单的 WordPress 网站,在 Mac OS 之上的 docker 容器中运行。当我尝试运行Simply static插件时,它根本不起作用。我看不到任何日志。诊断部分显示以下一项失败。
Checking if WordPress can make requests to itself from 172.20.0.3 X FAIL
我使用 docker-compose 启动了容器,如下所述 - https://docs.docker.com/samples/wordpress/
我在这里缺少什么?我真的想生成我的网站的静态版本。任何帮助表示赞赏。
我已经在这里尝试了建议的修复,但这对我不起作用。
问候,沙姆兰。
在我测试时,下面的代码执行没有任何问题.但我无法理解逻辑.有人可以解释一下吗?
public static void main(String[] args) {
List<String> london = new ArrayList<>(Arrays.asList("Chinatown","Croydon","Eden Park"));
class City{
private String name;
City(String name){
this.name = name;
}
public void printCity(){
System.out.println(name);
}
}
london.stream().map(City::new).forEach(City::printCity); //Chinatown,Croydon,Eden Park
}
Run Code Online (Sandbox Code Playgroud)
在上面的示例代码中,我有以下问题.
java ×2
amazon-s3 ×1
aws-sdk ×1
docker ×1
java-stream ×1
lambda ×1
local-class ×1
plugins ×1
wordpress ×1