小编Kam*_*l W的帖子

收集 CompletableFuture.allOf() 执行中抛出的异常

有以下暂存代码:

  public static void main(String[] args) throws ExecutionException, InterruptedException {

    CompletableFuture<Void> process1 = CompletableFuture.runAsync(() -> {
      System.out.println("Process 1 with exception");
      throw new RuntimeException("Exception 1");
    });

    CompletableFuture<Void> process2 = CompletableFuture.runAsync(() -> {
      System.out.println("Process 2 without exception");
    });

    CompletableFuture<Void> process3 = CompletableFuture.runAsync(() -> {
      System.out.println("Process 3 with exception");
      throw new RuntimeException("Exception 3");
    });

    CompletableFuture<Void> allOfProcesses = CompletableFuture.allOf(process1, process2, process3);

    allOfProcesses.get();
  }
Run Code Online (Sandbox Code Playgroud)

我正在寻找如何收集并行执行期间引发的所有异常CompletableFuture.allOf()并将其映射到列表的方法。

我知道我可以通过返回异常(CompletableFuture<Exception>)而不是通过使用抛出并收集它来做到这一点CompletableFuture::join,但我认为抛出异常方法比稍后返回并抛出它更好

java asynchronous java-threads completable-future

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

如何在package.json中使用来自不同注册表的npm依赖项?

在我的package.json文件中,我声明了依赖项,其中一个来自公共注册表,另一个来自私有注册表(在本例中为Artifactory).

"dependencies": {
        "vue": "^2.4.4", //public registry
        "ce-ui": "http://myartifactory.com/artifactory/npm-local/ce-ui/-/ce-ui-0.0.2.tgz"
      }
Run Code Online (Sandbox Code Playgroud)

我正在寻找使用插入符或tidle来声明依赖关系的方法,例如

 "dependencies": {
    "vue": "^2.4.4",
    "ce-ui": "^0.0.2"
  }
Run Code Online (Sandbox Code Playgroud)

先感谢您.

registry json artifactory node.js npm

7
推荐指数
2
解决办法
4467
查看次数

FeignClient 将 GET 方法转换为 POST

我不知道我做错了什么,但每次 feign 客户端都会将声明为 get 的方法转换为 post 类型。

@FeignClient(name = "my-service", url = "http://localhost:8114", path = "service")
public interface MyServiceClient {

    @RequestMapping(method = GET, value = "/clients")
    Client getClients(@QueryMap MyPojo pojo);
}

@Getter
@Setter
public class MyPojo {

    @NotNull
    private String someValue;
    @NotNull
    private SomeEnum someEnum;
}
Run Code Online (Sandbox Code Playgroud)

此设置应解决此请求:
GET http://localhost:8114/service/clients?someValue=foo&someEnum=bar

但每次我得到这个结果:

{
  "timestamp": 1542378765498,
  "status": 405,
  "error": "Method Not Allowed",
  "exception": "org.springframework.web.HttpRequestMethodNotSupportedException",
  "message": "Request method 'POST' not supported",
  "path": "/service/clients"
}
Run Code Online (Sandbox Code Playgroud)

然而,当我这样做时,效果很好:

@RequestMapping(method = GET, value = "/clients?someValue=foo&someEnum=bar")
Client getClients();
Run Code Online (Sandbox Code Playgroud)

我正在开发 …

java spring spring-cloud-feign feign

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

Jmeter - 每个采样器请求之前的增量值

我在 jmeter 中有一些测试计划,其中有几个 SOAP 采样器,其中我附加到请求主体计数器值,并且我正在寻找如何在每个采样器请求之前增加计数器的方法。

通过下面的设置,jmeter 会按以下顺序执行请求:

First Request - with counter 1
Second Request - with counter 1
First Request - with counter 2
Second Request - with counter 2
Run Code Online (Sandbox Code Playgroud)

我想实现这种行为:

First Request - with counter 1
Second Request - with counter 2
Third Request - with counter 3
...
N Request - with counter n
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

用户数量: 线程数量: 1 加速周期: 1 循环计数: 2

计数器 起始值:1 增量:1 最大值:2

我该怎么做 ?我想我应该以某种方式引入循环控制器?

java counter jmeter performance-testing

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

Spring Boot Quartz - 显示 SQL 语句

我将 Quartz 与 Spring Boot 和 postgres 数据库一起使用作为 Quartz 内容的持久存储。我想在控制台中查看 sql 日志,quartz 正在后台执行。我尝试了许多配置属性来启用它,但没有一个起作用。有人可以告诉我如何启用它吗?到目前为止我使用了以下道具:

spring:
  quartz:
    job-store-type: jdbc
    jdbc:
      initialize-schema: NEVER
    properties:
      org:
        quartz:
          jobStore:
            driverDelegateClass: org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
  jpa:
    show-sql: true
    properties:
      hibernate:
        show_sql: true
        use_sql_comments: true
        format_sql: true

logging:
  level:
    org:
      quartz: DEBUG
      hibernate:
        SQL: DEBUG
      postgres: DEBUG
      springframework:
        jdbc:
          core:
            JdbcTemplate: DEBUG
            StatementCreatorUtils: TRACE
Run Code Online (Sandbox Code Playgroud)

java spring quartz-scheduler spring-boot quartz

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

使用组合键批量插入实体

有这些课程:

public class SomeCompositeKey implements Serializable {
    private Long objectAId;
    private Long objectBId;
    private Long objectCId;
}
Run Code Online (Sandbox Code Playgroud)
//lombok annotations~~
@Entity
@Table(name = "objects_assoc")
@IdClass(SomeCompositeKey.class)
public class ObjectsAssocEntity {

    @Id
    @ManyToOne
    @JoinColumn(name = "object_a_id")
    private ObjectAEntity objectA;

    @Id
    @ManyToOne
    @JoinColumn(name = "object_b_id")
    private ObjectBEntity objectB;

    @Id
    @ManyToOne
    @JoinColumn(name = "object_c_id")
    private ObjectCEntity objectC;

}
Run Code Online (Sandbox Code Playgroud)

我正在使用方法ObjectsAssocEntity获取成员的引用EntityManager.getReference()并尝试一次保存几个实体saveAll,每次休眠执行选择以检查实体是否存在,然后在实体不存在的情况下进行单个插入。

在这种情况下是否可以使用批量插入?或者我应该尝试使用本机查询来执行此操作?

java hibernate jpa spring-data-jpa

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

SQL Server:删除字符串值包含其他值的位置

我想从表中删除所有记录,其中选择的字符串值包含在另一个表中的另一个值中(忽略区分大小写).

例如:if value1="Hello"(来自一个表)和value2-"Hello word"(来自另一个表),那么该记录应该被删除.

DELETE FROM [table1] 
WHERE value1 LIKE  '%' + (SELECT value2 FROM [table2]) + '%'
Run Code Online (Sandbox Code Playgroud)

但是该SQL语句返回错误.

sql sql-server sql-in sql-delete sql-like

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

React - 箭头函数 vs bind() 和带参数的事件

我是反应的新手(即使是在 JS 中)。我在App课堂上编写了以下代码:

nameChangeHandler = (event, personId) => {
//method code
};

render()
{
  <div>
    {this.state.persons.map((person, index) => {
      return <Person
          // nameChangeHandler={(event) => this.nameChangeHandler(event, person.id)}
          nameChangeHandler={this.nameChangeHandler.bind(this, person.id)}
      />
    })}
  </div>
}
Run Code Online (Sandbox Code Playgroud)

我正在传递nameChangeHandlerPersononChangeinput标记 ( <input type="text" onChange={props.nameChangeHandler}/>)中的事件中调用它的组件

当我以这种方式传递它时,应用程序工作正常:
nameChangeHandler={(event) => this.nameChangeHandler(event, person.id)}
但是当我这样做时它不会:
nameChangeHandler={this.nameChangeHandler.bind(this, person.id)}

它失败,一个异常时,我试图存取权限event.target.valuenameChangeHandler方法。

如何使用bind()方法而不是箭头函数将事件和参数传递给此方法?

我听说我们应该总是bind()在箭头函数上使用方法,因为箭头函数方法可以多次渲染组件。

bind()和箭头函数之间有什么特殊用例和区别吗?

javascript ecmascript-6 reactjs

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