1、要做什么东西
使用spring的@transational注解来避免mongodb的事务问题
2、有什么有问题
mongodb只能集群状态下才能使用事务,否则会抛异常
3、怎么解决
- 在etc目录创建mongod.conf文件(已存在该文件则追加),写入以下内容:
replication:
replSetName: rs0
-
在etc目录创建keyFile(用于内部集群的认证,否则启动容器会报错),如(挂载目录):
openssl rand -base64 756 > /path/to/config/keyfile -
启动容器时,加上以下设置:
docker run -d \
–name mongodb_replSet \
-v /path/to/config/keyfile:/etc/keyfile \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=123 \
-p 27017:27017 \
mongo:5.0.5 \
–replSet rs0 \
–keyFile /etc/keyfile
*具体使用方法可参考引用文章