Ich definiere eine Transaktion ist eine Reihe von kontinuierlichen Aktivitäten (eine Methode oder eine Reihe von Methoden) in einer Komponente.Verwalten von Transaktionen in iPOJO
Ich schrieb ein einfaches Beispiel wie folgt:
//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
}
}
In diesem Beispiel gibt lokale Transaktionen in den Komponenten HelloImpl und Client handelt. Ich definiere, dass die globale Transaktion des Systems aus einer Menge lokaler Transaktionen über alle Komponenten besteht.
Wie verwalten Sie Transaktionen (globale Transaktion und lokale Transitionen in diesem Beispiel) in OSGi oder iPOJO?
Grüße,
Wie Sie es in jeder anderen Nicht-JEE-Anwendung tun würden: indem Sie einen 'TransactionManager' verwenden, der vorzugsweise als Dienst verfügbar ist, so dass er in verschiedene Komponenten injiziert werden kann. –
Könnten Sie mir bitte mehr Details geben? – HNT
Dann müssen Sie weitere Informationen darüber angeben, wo die Transaktionen benötigt werden: greifen Sie auf eine Datenbank zu und wenn ja, wie (über JPA, JDBC, ...) oder müssen Sie entfernte Ressourcen synchronisieren? –