下面列出了org.springframework.transaction.annotation.Propagation#NEVER 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
// No transaction, will be created per handled rollout
@Transactional(propagation = Propagation.NEVER)
public void handleRollouts() {
final List<Long> rollouts = rolloutRepository.findByStatusIn(ACTIVE_ROLLOUTS);
if (rollouts.isEmpty()) {
return;
}
final String tenant = tenantAware.getCurrentTenant();
final String handlerId = tenant + "-rollout";
final Lock lock = lockRegistry.obtain(handlerId);
if (!lock.tryLock()) {
return;
}
try {
rollouts.forEach(rolloutId -> DeploymentHelper.runInNewTransaction(txManager, handlerId + "-" + rolloutId,
status -> executeFittingHandler(rolloutId)));
} finally {
lock.unlock();
}
}
@Transactional(propagation = Propagation.NEVER)
public void runFrame(VirtualProc proc, DispatchFrame frame) {
try {
rqdClient.launchFrame(prepareRqdRunFrame(proc, frame), proc);
dispatchedProcs.getAndIncrement();
}
catch (Exception e) {
throw new DispatcherException(proc.getName() +
" could not be booked on " + frame.getName() + ", " + e);
}
}
/**
* Creates a new job log directory. This is only called
* when launching a job.
*
* @param job
*/
@Transactional(propagation = Propagation.NEVER)
public void createJobLogDirectory(JobDetail job) {
if (!jobLogUtil.createJobLogDirectory(job.logDir)) {
throw new JobLaunchException("error launching job, unable to create log directory");
}
}
/**
* Propagation.NEVER 必须在一个没有的事务中执行,否则抛出异常(与Propagation.MANDATORY相反)
*/
@Transactional(propagation=Propagation.NEVER)
public void insertNever(PersonDto person, boolean throwException) {
personDao.insert(person);
if(throwException) {
throw new RuntimeException("ERROR");
}
}
@Override
@Transactional(propagation = Propagation.NEVER)
public void doRecovery() {
if (logger.isDebugEnabled()) {
logger.debug("Begin recovery");
}
recoverWorkers();
assignRecoveredMessages();
if (logger.isDebugEnabled()) {
logger.debug("End recovery");
}
}
@Subscribe("/notify/**")
@Transactional(propagation = Propagation.NEVER)
public Mono<Void> handleNotify(SerializableNotifierEvent event) {
return insert(Mono.just(NotifyHistoryEntity.of(event))).then();
}
@Transactional(propagation = Propagation.NEVER)
public void setAllocationTag(AllocationInterface a, String tag) {
allocationDao.updateAllocationTag(a, tag);
}
@Override
@Transactional(propagation = Propagation.NEVER)
public void addNever(User2 user){
user2Mapper.insert(user);
}
@Override
@Transactional(propagation = Propagation.NEVER)
public void addNeverException(User2 user){
user2Mapper.insert(user);
throw new RuntimeException();
}
@Override
@Transactional(propagation = Propagation.NEVER)
public void addNever(User1 user){
user1Mapper.insert(user);
}
@Override
@Transactional(propagation = Propagation.NEVER)
public void addNeverException(User1 user){
user1Mapper.insert(user);
throw new RuntimeException();
}
@Override
@Transactional(propagation = Propagation.NEVER)
public void addNever(User2 user){
user2Mapper.insert(user);
}
@Override
@Transactional(propagation = Propagation.NEVER)
public void addNeverException(User2 user){
user2Mapper.insert(user);
throw new RuntimeException();
}
@Override
@Transactional(propagation = Propagation.NEVER)
public void addNever(User1 user){
user1Mapper.insert(user);
}
@Override
@Transactional(propagation = Propagation.NEVER)
public void addNeverException(User1 user){
user1Mapper.insert(user);
throw new RuntimeException();
}
@Transactional(propagation = Propagation.NEVER)
public Foo identity(Foo entity) {
return entity;
}