【发布时间】:2016-09-17 08:15:11
【问题描述】:
我将事务定义为一个组件中的一组连续活动(一个方法或一组方法)。
我写了一个简单的例子如下:
//service interface
public interface Hello {
String sayHello(String name);
String sayBonjour(String name);
}
//service implementation
@Component
public class HelloImpl implements Hello {
public String sayHello(String name) {
//start local transaction
return "hello " + name;
//finish local transaction
}
public String sayBonjour(String name) {
//start local transaction
return "bonjour " + name;
//finish local transaction
}
}
//client
@Component
public class Client {
Hello client;
public Client() {
//start local transaction
client.sayBonjour(client.sayHello("world"));
//finish local transaction
}
}
在本例中,组件 HelloImpl 和 Client 中有本地事务。我定义系统的全局事务由一组通过所有组件的本地事务组成。
如何在 OSGi 或 iPOJO 中管理事务(本例中为全局事务和本地事务)?
问候,
【问题讨论】:
-
正如您在任何其他非 JEE 应用程序中所做的那样:使用最好作为服务提供的
TransactionManager,以便可以将其注入到各种组件中。 -
你能给我更详细的吗?
-
那么你需要提供更多关于事务在哪里需要的信息:你是否访问数据库,如果是,如何访问(通过 JPA、JDBC,...),或者你是否需要同步远程资源等?
标签: java transactions osgi apache-felix ipojo