我想在我的一个模块中的<persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="oneschema" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<properties>
<property name="driverClass" value="${db.driver}" />
<property name="jdbcUrl" value="${datasource.baseurl}/SCHEMAONE" />
<property name="user" value="${datasource.username}" />
<property name="password" value="${datasource.password}" />
</properties>
</persistence-unit>
<persistence-unit name="anotherchema" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>com.company.AccountLog</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="driverClass" value="${db.driver}" />
<property name="jdbcUrl" value="${datasource.baseurl}/SCHEMANOTHER" />
<property name="user" value="${datasource.username}" />
<property name="password" value="${datasource.password}" />
</properties>
</persistence-unit>
</persistence>
上设置简单的手表:
__dirname
最终,我要做的是创建一个fs.watch(__dirname, {recursive:true}, () => {console.log('Something changed!')})
的tarball,只要该目录中发生任何更改,或者目录本身被删除,我都希望将该tarball解压缩到该位置以恢复所有文件。 br />
一切都按预期进行(创建tarball并在文件更改或__dirname
本身被删除时将其解压缩到位)。
一件奇怪的事情是:如果我删除整个__dirname
,则手表会触发回调,而回调会将其恢复为原始状态。但是当我再次删除它时,手表不再触发。没有错误,只是没有检测到删除!
测试它的替代方法是:
1.打开终端 A
2. __dirname
3. mkdir foo && cd foo
4. git init
5. mkdir bar && cd bar
6.创建具有以下内容的npm init -y
:
index.js
7。承诺一切
8.打开另一个终端( B )并导航到在1中创建的const fs = require('fs')
fs.watch(__dirname, { recursive: true }, () => {
console.log('something changed!')
})
目录。
9.在 A 中,运行:foo
10.在 B 中运行node index.js
(在 A 中,您将看到来自监视回调的日志)
11.在 B 中运行rm -rf bar
(在 A 中,您将从监视回调中看到更多日志)
12.再次在 B 中运行git reset --hard HEAD
。这次没有再登录 A 了,还没有触发监视回调!
这是预期的行为吗?我正在使用节点rm -rf bar
和macOS v10.12.0
(High Sierra)。
任何帮助表示赞赏:)