小编Fil*_*lip的帖子

使用多个连接的单个事务.(MYSQL/JDBC)

我正在处理的应用程序是一个基于Java的ETL过程,它将数据加载到多个表中.DBMS是Infobright(基于MYSQL的DBMS,适用于数据仓库).

数据加载应以原子方式完成; 但是,出于性能原因,我想同时将数据加载到多个表中(使用LOAD DATA INFILE命令).这意味着我需要打开多个连接.

有没有任何解决方案允许我原子地并行地进行负载?(我猜测答案可能取决于我加载的表格的引擎;大多数是Brighthouse,它允许事务,但没有XA和没有保存点).

为了进一步澄清,我想避免让我们说:

  • 我将数据加载到5个表中
  • 我提交前4个表的负载
  • 第5个表的提交失败

在这种情况下,我无法回滚前4个加载,因为它们已经被提交.

java mysql transactions jdbc infobright

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

Web服务器何时清除PHP会话标识符?

背景:

我正在尝试编写一个定期连接到Web服务器的脚本,并检查特定页面上的某些信息是否已更改.我已经使用bash(用于脚本),curl(用于实际连接)和crontab(用于调度)的组合工作.

由于服务器需要身份验证,我首先使用curl在登录页面上使用我的凭据执行POST请求并保存cookie文件(包含PHPSESSID).现在我可以在执行我想要检查的实际网页的请求时使用cookie文件.

问题(S):

  1. 服务器什么时候实际清除我第一次请求设置的PHPSESSID?我想它必须在某个时候这样做,否则会崩溃,因为它会一直存储有关每个会话的信息.

  2. 如果在关闭浏览器时清除了PHPSESSID,那么我可以通过某种方式模拟即使使用curl吗?

php session curl http

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

Java进程间互斥锁

我需要在 Java 中实现某种进程间互斥锁。我正在考虑按照此线程中的建议使用 FileLock API 。我基本上会使用一个虚拟文件并在每个进程中锁定它。

这是最好的方法吗?或者是在标准 API 中构建的类似内容(我找不到)。

有关更多详细信息,请参见下文:

我编写了一个应用程序,它读取一些输入文件并根据它在其中找到的内容更新一些数据库表(它更复杂,但业务逻辑在这里无关紧要)。

我需要确保多个数据库更新之间的互斥。我试图用 LOCK TABLE 来实现这个,但是我使用的引擎不支持它。所以,我想在应用程序代码中实现锁定支持。

java mutex locking

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

标签 统计

java ×2

curl ×1

http ×1

infobright ×1

jdbc ×1

locking ×1

mutex ×1

mysql ×1

php ×1

session ×1

transactions ×1