lockingdaobean.java
来自「精通EJB3源码」· Java 代码 · 共 42 行
JAVA
42 行
package com.foshanshop.ejb3.impl;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import com.foshanshop.ejb3.LockingDAO;
import com.foshanshop.ejb3.bean.User;
/**
* 使用乐观锁避免更新丢失
*/
@Stateless
@Remote(LockingDAO.class)
public class LockingDAOBean implements LockingDAO {
@PersistenceContext protected EntityManager em;
public void init(User user) {
em.persist(user);
}
public void payElectricityFee(int id) {//交电费
try {
User user = em.find(User.class, id);
Thread.sleep(3000);//等待存工资事务开启
user.setBalance(user.getBalance()-200);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void saveLaborage(int id) {//存工资
try {
User user = em.find(User.class, id);
Thread.sleep(3500);//再让交电费执行
user.setBalance(user.getBalance()+13000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?