服务器的手动部署思考和spring提交事务后执行其他代码

导包到lib及其打jar包。先使用idea工具打包,然后在需要打包的微服务下,新建lib文件夹,

mvn dependency:copy-dependencies -DoutputDirectory=lib  

mvn clean package

 

PIDS=`ps -ef |grep talentcard-end |grep -v grep | awk '{print $2}'`

if [ "$PIDS" != "" ]; then kill -9 $PIDS; fi

ps -ef | 获取当前服务器所有进程

grep -v grep 相当于grep自己吧自己过滤掉,就是不显示grep

grep seq 过滤出seq

awk 截取 $2 第二个域的pid号。通过调用外部命令kill 来干掉seq

nohup java -Xms64m -Xmx256m  -Dloader.path=/data/smarthelper/datav/talentcard-end/lib -jar /data/smarthelper/datav/talentcard-end/talentcard-end-1.0.0.jar --spring.profiles.active=prod >/data/smarthelper/datav/talentcard-end/logs/talentcard-end.log 2>&1 &

& 1 更准确的说应该是文件描述符 1,而1标识标准输出,stdout

2 ,表示标准错误,stderr

数字编码转为char

char[] chars = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
StringBuilder sb = new StringBuilder();
//处理加密结果
for (byte b : di) {
    sb.append(chars[(b >> 4) & 15]);
    sb.append(chars[b & 15]);
}

事务提交之后才执行,使用spring的事务管理、(事务的传播行为及其隔离级别)

TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
            @Override
            public void afterCommit() {
                //请执行你的代码
            }
        });
 

 

 

 


版权声明:本文为weixin_38671006原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。