1. 在
创建UNDO_LOG表
- 01 创建undo_log(
)
- 02下载地址:
create trigger sequence_undo_log before
insert on undo_log for each row when (new.id is null)
begin
select sequence_undo_log.nextval into:new.id from dual;
end;
2. 在
创建表
-
- 创建全局事物表 (
)
- 创建全局事物表 (
-
- 在seata目录下新建文件 -config.txt
- 下载地址
- seata/config.txt at 1.3.0
-
注意目录 位置
image.png - 修改配置
-
这里是配置事务组,可以配置多个
image.png -
事务组要和项目配置文件中的相对应
image.png
-
-
修改config.txt 中的数据库配置
image.png
-
- 初始化数据到nacos
-
注意文件路径
image.png -
在git bash 执行命令
image.png

image.png
sh nacos-config.sh -h 210.210.210.212 -p 8848 -g SEATA_GROUP -t seata -u nacos帐号 -w nacos密码
- 命令解读
- -h : nacos地址
- -p : nacos端口
- -g : 注册分组
- -t : 注册的命名空间
- -u : nacos登录帐号
- -w: nacos登录密码
-
修改配置-registry.conf
image.png
-

image.png
-
修改file.conf
image.png
-
-
- 上传到服务器
-
先将 oracle 的驱动包添加的lib 目录下面去
image.png -
上传文件
image.png
- 建立文件
mkdir /opt/seata-server-1.3.0/seata/logs && vim /opt/seata-server-1.3.0/seata/logs/seata_gc.log
chmod -R a+w ./seata-server-1.3.0/seata/logs

image.png
- 删除多余的命令并给予执行权限
chmod -R +x /opt/seata-server-1.3.0/seata/bin/ && rm -fr /opt/seata-server-1.3.0/seata/bin/seata-server.bat
- 项目启动
nohup /opt/seata-server-1.3.0/seata/bin/seata-server.sh >/opt/seata-server-1.3.0/seata/logs/log.out 2>1 &
nohup /opt/seata-server-1.3.0/seata/bin/seata-server.sh -h 210.210.210.198 >/opt/seata-server-1.3.0/seata/logs/log.out 2>1 &
- 关于报错 的解决方案
i.s.r.d.u.p.JacksonUndoLogParser - json encode exception, No serializer found for class java.io.ByteArrayInputStream and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: io.seata.rm.datasource.undo.BranchUndoLog["sqlUndoLogs"]->java.util.ArrayList[1]->io.seata.rm.datasource.undo.SQLUndoLog["afterImage"]->io.seata.rm.datasource.sql.struct.TableRecords["rows"]->java.util.ArrayList[0]->io.seata.rm.datasource.sql.struct.Row["fields"]->java.util.ArrayList[6]->io.seata.rm.datasource.sql.struct.Field["value"]->oracle.sql.TIMESTAMP["stream"])

image.png
-
修改nacos->seata配置项序列化方式 client.undo.logSerialization=kryo
image.png
client.undo.logSerialization
- 这个配置 在config.txt 中可以找到
- 并添加对应jar到工程中
<dependency>
<groupId>com.esotericsoftware.kryo</groupId>
<artifactId>kryo</artifactId>
<version>2.24.0</version>
</dependency>
<dependency>
<groupId>de.javakaffee</groupId>
<artifactId>kryo-serializers</artifactId>
<version>0.45</version>
</dependency>
<dependency>
<groupId>com.esotericsoftware</groupId>
<artifactId>kryo</artifactId>
<version>4.0.2</version>
</dependency>










