小编Jos*_*zka的帖子

Spring hibernate,如何在事务提交或事务回滚后调用一些方法

我需要在事务成功或回滚后调用一些方法.我用的是

    <bean name="openSessionInViewInterceptor" class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
                <property name="sessionFactory">
                    <ref local="mysessionFactory"/>
                </property>
    </bean>

    <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory">
            <ref local="mysessionFactory"/>
        </property>
    </bean>

<tx:annotation-driven transaction-manager="txManager" proxy-target-class="true"/>
Run Code Online (Sandbox Code Playgroud)

应用程序使用一些外部Web服务,当内部事务被回滚时需要"清理".有没有办法如何在不使用声明式事务管理的情况下实现此目的.

java spring hibernate transactions

11
推荐指数
3
解决办法
2万
查看次数

Spring MVC如何获得运行异步任务的进度

我想从控制器内部启动异步任务,如下面的Spring docs代码片段.

import org.springframework.core.task.TaskExecutor; 

public class TaskExecutorExample { 

  private class MessagePrinterTask implements Runnable { 

    private int cn; 

    public MessagePrinterTask() { 

    } 

    public void run() { 
//dummy code 
for (int i = 0; i < 10; i++) { 
cn = i; 
} 
} 

} 

private TaskExecutor taskExecutor; 

public TaskExecutorExample(TaskExecutor taskExecutor) { 
    this.taskExecutor = taskExecutor; 
  } 

  public void printMessages() { 

      taskExecutor.execute(new MessagePrinterTask()); 

  } 
} 
Run Code Online (Sandbox Code Playgroud)

之后在另一个请求中(在任务运行的情况下)我需要检查任务的进度.Basicaly获得cn的值.

Spring MVC中最好的方法是如何避免同步问题.

谢谢

PepaProcházka

spring asynchronous spring-mvc

7
推荐指数
1
解决办法
2万
查看次数