Frage

Das Projekt arbeite ich an nutzt gerade JDBC-Datenzugriff in all seinen vorformulierten Ruhm und verwendet keine Transaktionen. Ich fühle mich wie Transaktionen und vereinfacht die Art und Weise Datenzugriffsmethoden geschrieben verwenden ist wichtig, vor allem mit einigen Änderungen zur Zeit gemacht. Das Projekt gibt es schon eine ganze Weile und ist nicht auf einen ORM-Framework geeignet. Es nutzt auch viele Singletons (igitt) und entwirren sie es in der Lage zu machen, Dependency Injection zu verwenden, wäre eine Menge Arbeit sein, und ich glaube nicht, dass ich niemanden überzeugen konnte, dass wir das jetzt tun sollten.

Ich mag die Schnittstelle von Spring JDBC, insbesondere durch seine SimpleJdbcTemplate. Meine Frage ist, wie einige einfache (pro Servlet-Anfrage) Transaktionen für dies zu ermöglichen, ohne etwas programmatisch in jeder Datenzugriffsmethode einstellen zu müssen oder den Feder IoC-Container oder AOP verwenden. Ich habe mit meiner eigenen Architektur rumgespielt, die ähnlich wie SimpleJdbcTemplate die mit einer Schnittstelle endet und kann eine einzige Anforderung-lokale Verbindung und Transaktion verwenden, wenn Anrufe es im Rahmen einer Anfrage gemacht werden (durch eine ServletRequestListener mit einem ThreadLocal). Es scheint gut zu funktionieren, aber ich denke, eine gute externe Bibliothek wie Spring JDBC unter Verwendung vorzuziehen wäre.

Wer noch keine Erfahrung mit dieser hat?

War es hilfreich?

Lösung

Vielleicht könnten Sie a href verwenden <= "http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/transaction/support/TransactionTemplate.html" rel = "nofollow noreferrer" > TransactionTemplate und TransactionCallback- wie in Programmatische beschrieben Transaction Management ?

Andere Tipps

Federgriffe Transaktionen für Sie deklarativ, ohne dass Sie über das Schreiben von AOP Klassen zu kümmern. Wenn Sie mit JDK 5 oder höher und Spring 2.5, haben Sie es noch besser mit Anmerkungen .

würde ich mit pro-Servlet-Transaktionen nicht einverstanden ist. Sie sollten eine Serviceschicht haben, die der Teil der Anwendung, die über Arbeitseinheiten kennt. Controller ruft in Dienstleistungen, die Geschäfte abwickeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top