小编Par*_*wan的帖子

INSERT 的 MySQL 事务是否会锁定外键引用的表?

我正在尝试在我的Java应用程序中执行一个巨大的事务,并为user_account_entry具有对user表的外键引用的表执行单个插入条目(数量以千为单位)。

当事务运行时,我无法更新属于获取事务的任何用户实体LockAcquisitionException

我正在使用 MySQL InnoDB 并使用DEFAULT事务隔离级别(该级别转换REPEATABLE-READ为 InnoDB 级别),任何人都可以阐明 mysql 事务期间的外键锁定

mysql innodb transactions isolation-level

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

流关闭异常是RestTemplate Java.如何将multiplte对象传递给Java RestClient

我收到了一个意想不到的错误 java.io.IOException: Stream closed

错误从此行开始

public void createPo(String username, PurchaseOrderDto po, List<PoItemDto> items) {
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("poDto", po);
    params.put("items", items);
    rc.post(String.format("/po?username=%s", username), params);
}
Run Code Online (Sandbox Code Playgroud)

rc是从其他服务器调用api的其他客户端.这是它的post函数的代码

protected void post(String path, Object object) {
restTemplate.postForObject((url + path), object, Void.class);
}
Run Code Online (Sandbox Code Playgroud)

以下是处理上述请求的api PoController.java

@ResponseStatus(HttpStatus.OK)
@RequestMapping(value = "/po", method = RequestMethod.POST)
public void createPo(@RequestParam("username") String buyerId, @RequestBody PurchaseOrderDto poDto, @RequestBody List<PoItemDto> items) {
    poService.createPo(buyerId, poDto, items);
}
Run Code Online (Sandbox Code Playgroud)

处理请求的tomcat服务器的日志:

[http-bio-9080-exec-6]  ERROR ib.pms.controller.PoController - Stream closed java.io.IOException: Stream closed
    at …
Run Code Online (Sandbox Code Playgroud)

java rest spring-mvc

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

在 mongo shell 中创建 mongo 更改流

MongoDB在其 3.6 版本中引入了变更流
我想在我的代码中实现 mongo 更改流,并想了解它是如何工作的。我将使用 java 驱动程序来实现,这很清楚。但是我想知道是否有任何方法可以在 mongo shell 中打开更改流?找不到太多资源。

mongodb changestream mongodb-3.6

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

为纪元时间添加天数[Java]

纪元时间是自1970年1月1日以来经过的毫秒数,所以如果我想x在那个时间添加天数,那么添加相当于x几天的毫秒来获得结果似乎很自然

Date date = new Date();
System.out.println(date);
// Adding 30 days to current time
long longDate = date.getTime() + 30*24*60*60*1000;
System.out.println(new Date(longDate));
Run Code Online (Sandbox Code Playgroud)

它给出了以下输出

Mon Dec 26 06:07:19 GMT 2016
Tue Dec 06 13:04:32 GMT 2016
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用Calendar类来解决这个问题,但只是想了解这种行为

java epoch

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