动态注册 Bean 到 Spring 中
如果需要要启动后向 Spring 容器个注册一个动态创建的对象,可以通过以下几个方式实现:
- 直接注册 Singleton 对象
- 注册 BeanDefinition
如果需要要启动后向 Spring 容器个注册一个动态创建的对象,可以通过以下几个方式实现:
数据库事务(简称:事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。事务的使用是数据库管理系统区别文件系统的重要特征之一。
一次性删除数据库中数据最快的方法就是直接 Drop 掉 DB,重新建一个,但是在 Drop 时可能会报占用的错误。
1 | There is 1 other session using the database. |
出现上诉错误时可以用以下方法解决,方法来自 stackoverflow。
本文介绍如何快速在 PostgreSQL 中新建 DB 和用户并完成授权,简要如下,详细说明请看详情页。
TL;DR
1 | sudo -u postgres psql |
Spring 中常用 @PropertySource
注解来加载指定配置文件,但是 @PropertySource
注解也有一些限制,如:
本文将通过扩展的方式解决以上的需求。
在 HomeLab 的自建 Docker Swarm 集群中,在尝试删除集群中的节点时报了 permission denied
的错误。这个问题可能是 AppArmor 安全策略的问题。
由于在 HomeLab 安装 Docker 和组建 Swarm 集群时都是按照 Quick Start 相关的指引,使用的默认的 Docker AppArmor 安全配置文件。在删除节点时,
操作的配置是没有权限的。
所以这里可以简单的将 AppArmor 先禁用,再把节点删除。
1 | sudo systemctl disable apparmor.service --now |
软路由的 exsi 虚拟机在一次异常断电后,无法启动某个虚拟主机,手动启动报 无法打开磁盘
的错误。
1 | 无法打开磁盘“/vmfs/volumes/XXX/LeDe/LeDe.vmdk”或其所依赖的快照磁盘之一。 |
查了一下网上的资料,可以通过以下
方式修复该问题。
最近在开发一个 Telegram 小机器人,由于功能简单所以也没考虑用什么大型的关系数据库啥的,选用了 Sqlite3 这个嵌入式数据库,它的数据库就是一个文件。
程序原先使用的是 Python 2 写的,在写完核心功能后决定将代码基于 Python 3 调整一下,引人 SQLAlchemy ORM 来管理数据实体。(这次调整使用 ORM 极大方便了后面功能的加入)
调整成 Python3 后在本地运行没有任何问题,但是一发布到服务器上运行就会报 no module named '_sqlite3'
错误。
最近在开发 Quartz Job 任务时有一种很迫切的需求,希望能动态调整生产的 Job 的运行,开启或停止 Job、调整 Job 的运行频率。翻了一下源码,基于 Quartz 的 Scheduler 扩展一个。
在开发集成了 Quartz 的应用时,由于 Quartz 在开发环境一般也会自动启动。这样会给人造成不少烦恼,一个是启动 Job 会影响本地的运行效率,同时如果是分布
式模式的 Quartz 会出现本地抢任务运行,又由于本地和测试环境的各种不一致,会出现很多奇怪问题。