我有 2 项服务:RecentRecordService和BookService 。
@Service
public class RecentRecordService {
@Transactional
public List<Book> getRecentReadBooks() {
List<Long> recentReadBookIds = getRecentReadBookIds();
List<Book> recentReadBooks = new ArrayList<>();
for (Long bookId : recentReadBookIds) {
try {
Book book = bookService.getBook(bookId);
recentReadBooks.add(book);
} catch (AccessDeniedException e) {
// skip
}
}
return recentReadBooks;
}
}
Run Code Online (Sandbox Code Playgroud)
@Service
public class BookService {
@Transactional
public Book getBook(Long bookId) {
Book book = bookDao.get(bookId);
if (!hasReadPermission(book)) {
throw new AccessDeniedException(); // spring-security exception
}
return book; …Run Code Online (Sandbox Code Playgroud) projectVersionPolicyIdMaven Release Plugin 的许多 mojo 中都有一个参数,例如http://maven.apache.org/maven-release/maven-release-plugin/prepare-mojo.html#projectVersionPolicyId。但是,他们似乎没有提供我如何使用它的示例。
当我尝试:
$ mvn --batch-mode release:prepare -DprojectVersionPolicyId=foo
Run Code Online (Sandbox Code Playgroud)
它显示一个错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.0-M1:prepare (default-cli) on project maven-release-test: Policy 'foo' is unknown, available: [default] -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
看起来只有 1 个可用策略(即default)。有没有办法添加更多可能的策略?
我试图找出内核模块是如何自动插入的。我正在使用 Arch Linux,所以基本上我正在使用systemd.
经过一番研究,我知道至少有两种方法可以插入内核模块:
systemd有一个名为 的单元systemd-modules-load.service,它读取/etc/modules-load.d/*.conf(以及 和 中的/run内核模块名称/usr/lib)(systemd 文档)。
udev当检测到设备时可以自动处理内核模块(Arch Linux wiki 页面)。
但是,我没能看到它们是如何工作的:
/etc/modules-load.d/*.conf我的系统上(或 或/run)中没有配置文件/usr/lib。因此它没有什么可加载的systemd-modules-load.service。
中有一些modprobe命令/usr/lib/udev/rules.d,但不是我在 中看到的所有内核模块lsmod。
例如,我xfs在 的输出中有一个内核模块lsmod,但我找不到插入它的触发点。我的文件系统都没有安装xfs(cat /proc/mounts | grep xfs什么也不显示)。
有没有关于这一切如何运作的介绍或教程?