我得到了camel (3.5.0)应用程序的弹簧引导(2.3.2.RELEASE)和两个测试路线:
这样做的目的是检查从多播调用的子路由异常发生时会发生什么,以及它如何处理事务。
@Component
public class MyRoute1 extends RouteBuilder {
@Override
public void configure() {
onException(Exception.class)
.useOriginalBody()
.log("Error handler parent. Body is: ${body}
我使用的是spring和hibernate。我正在使用spring进行事务管理。我下课了。
@Service
@Transactional(readOnly = true)
public class Sample implements SampleInterface{
@Override
public List<Some> getData(){
//gets data after that it updates something
setStatus(someId);
}
@Override
@Transactional
public void setStatus(Lon
假设我们有下面这段代码:
@Entity
public class User {
@Id
private String name;
@OneToOne(cascade = CascadeType.ALL)
private Address address;
//getters and setters
}
@Entity
public class Address {
@Id
private int id;
private String street;
//getters and setters
}
@Stateless
/
我有一个Spring/JPA/Groovy/Hibernate堆栈(注意:而不是grails),并且在尝试在启动时执行一些@Transactional工作时,我发现我得到了一个No session found for current thread。
我有一个控制器类,在@PostConstruct上,它调用另一个类上的一个@Transactional方法,该方法试图用一些要在模拟中使用的示例数据填充数据库。
下面是controller类:
@Component
public class SimulationController {
private TransactionTemplat
我有一个公开单个方法ingest的Ingestion类。此方法处理传入表单的每个部分(第1节、第2节等)。
我对每个部分都有私有方法,在实体处理的时候保存它。我知道@Transactional对私有方法没有影响,但是我不想公开这些方法,而是希望使用@Transactional提供的功能。
我希望确保每个部分都在自己的Transaction中完成;我可以通过'AspectJ‘来完成(正如其他答案所建议的那样),而不是Spring的开箱即用实现,但我正在努力避免,因为它会导致系统范围的变化。
对另一种方法有什么想法?
下面提供的伪代码给出了关于类结构的一般概念:
public Class
据我所知,EJB的默认持久性上下文(包括无状态)是TRANSACTION_SCOPED,那么语句'transaction‘可以跨多个具有无状态bean的业务方法“有效,即使持久化上下文默认为TRANSACTION_SCOPED,或者仅适用于流行的无状态bean持久性上下文(即EXTENDED)。
引用支持的答案将受到高度赞赏。
编辑:
我要问的用例是这样的:
@Stateless
TransactionManagement(TransactionManagementType.BEAN)
public class MyStatelessBean(){
@PersistenceCont
只是一个简单的问题,一个汽车实体持久化字段颜色的值红色:
00 @Transactional public class MyBean{...
01 public void test(){
02 Car c = s.find(Car.class,1);
03 c.setColor("blue");
04 test1(c);
05 System.out.println(c.getColor());
06 }
07 @Transactional(readOnly=true)
08 public v