小编Tam*_*leh的帖子

删除 Google 云存储中文件夹内的文件

我的愿望非常简单和基本。但是,我找不到任何有效/明确的答案:D

我想知道如何删除 Google Cloud 存储中文件夹内的文件。

如果假设我有一个存储桶名称xxxx.appspot.com,并且里面有一个名为 的文件夹images,并且该文件夹中有一个图像(例如123.jpg),我想删除它。

这是我写的代码,但它没有删除它:

String bucketName = "xxxx.appspot.com";
GcsService gcsService = GcsServiceFactory.createGcsService();                   
gcsService.delete(new GcsFilename(bucketName,"images/123.jpg"));
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

提前致谢!

google-cloud-storage

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

如何使用@SqlResultSetMapping将ONE-TO-MANY本机查询结果映射到POJO类中

我正在使用Java和MySql在后端API中工作,我正在尝试在JPA 2.1中使用@SqlResultSetMapping将ONE-TO-MANY本机查询结果映射到POJO类,这是本机查询:

@NamedNativeQuery(name = "User.getAll”, query = "SELECT DISTINCT t1.ID, t1.RELIGION_ID t1.gender,t1.NAME,t1.CITY_ID , t2.question_id, t2.answer_id  FROM user_table t1 inner join user_answer_table t2 on t1.ID = t2.User_ID“,resultSetMapping="userMapping")
Run Code Online (Sandbox Code Playgroud)

而且,这是我的结果SQL映射:

@SqlResultSetMapping(
            name = "userMapping",
            classes = {
                            @ConstructorResult(
                                    targetClass = MiniUser.class,
                                    columns = {
                                            @ColumnResult(name = "id"),
                                            @ColumnResult(name = "religion_id"),
                                            @ColumnResult(name = "gender"),
                                            @ColumnResult(name = "answers"),
                                            @ColumnResult(name = "name"),
                                            @ColumnResult(name = "city_id")

                                    }
                            ),

                            @ConstructorResult(
                                    targetClass = MiniUserAnswer.class,
                                    columns = {
                                            @ColumnResult(name = "question_id"),
                                            @ColumnResult(name = "answer_id")

                                    }
                              )

            })
Run Code Online (Sandbox Code Playgroud)

而且,这是POJO类的实现:(我刚刚删除了构造函数和getter/setter)

MiniUser类

public …
Run Code Online (Sandbox Code Playgroud)

one-to-many sqlresultsetmapping nativequery jpa-2.1

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

为什么我的java长时间运行的线程(5k +线程)没有使用所有机器核心(12核)?

我已经Worte一个简单的多线程java应用程序,主要方法只创建5k个线程,每个线程将循环遍历一个有5M记录的列表来处理.

我的机器规格:

  • CPU内核:12个内核
  • 内存:13Gb RAM
  • 操作系统:Debian 64位

我的jar现在正在运行,而且我使用hTop监视我的应用程序,这是我在运行时可以看到的

在此输入图像描述

这就是我构造一个Thread的方式:

ExecutorService executor = Executors.newCachedThreadPool();
Future<MatchResult> future = executor.submit(() -> {
            Match match = new Match();
            return match.find(this);
        });
Run Code Online (Sandbox Code Playgroud)

Match.class

find(Main main){
// looping over a list of 5M 
// process this values and doing some calculations 
// send the result back to the caller 
// this function has no problem and it just takes a long time to run (~160 min)
}
Run Code Online (Sandbox Code Playgroud)

现在我有一些问题:

1-基于我的理解,如果我有一个多线程进程,它将完全利用我的所有核心,直到任务完成,那么为什么工作负载只有0.5左右(只使用了一半核心)?

2-为什么我的Java应用程序状态是"S"(休眠),而它实际运行并填满日志文件?

3-为什么我只能看到5k中的2037个线程正在运行(这个数字实际上小于这个并随着时间的推移而增加)

我的目标:利用所有内核并尽可能快地完成所有这5k + :)

java multithreading htop

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

如何在多分支中触发bitbucket管道

我在 bit-bucket 帐户下有一个存储库,该存储库有这 4 个分支:

- master 
- API
- Admin
- Web
Run Code Online (Sandbox Code Playgroud)

我只有bitbucket-pipelines.yml下面的一个master branch,就像这样:

image: maven:3.5.0-jdk-7

pipelines:
  branches:
    API:
     - step:
        caches:
          - maven
        script: 

           - mvn install
Run Code Online (Sandbox Code Playgroud)

所以我希望每当 API 分支发生任何推送时都会触发这个管道,事实上除非推送到 master 分支,否则它不会发生,唯一的出路是将这个相同的文件也放在 API 分支下,虽然文档说它只有一个位于 repo root 下的副本master branch,那么我怎样才能实现这一目标呢?

如果我需要在所有分支中放置相同的管道文件,我认为它完全是嘲笑,那么任何人都可以澄清这一点吗?提前致谢!

java maven-3 git-branch bitbucket-pipelines

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