Worauf Du hier gerade stößt ist Two Phase Commit zum Koordinieren von
Transaktionen über mehrere Datenbanken. Führt natürlich zu der Frage, ob
Du überhaupt mehrere Datenbanken hast. Und außerdem hat das auch einen
Performance-Overhead, d.h. ich würde es *dringend* vermeiden.
Die allererste Lösung war eigentlich ganz gut, es fehlte allerdings der
persistenceUnitName der Default Persistence Unit:
<bean
class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/
>
<bean id="persistenceUnitManager"
class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager">
<property name="persistenceXmlLocations">
<list>
<value>classpath:/META-INF/persistence.xml</value>
</list>
</property>
</bean>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitManager"
ref="persistenceUnitManager"/>
---> Hier ist die Änderung <----
<property name="persistenceUnitName" value="puB" />
</bean>
<bean id="transactionManager"
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory"
ref="entityManagerFactory"/>
</bean>
<tx:annotation-driven />
<context:component-scan base-package="de.xxx"/>
<context:annotation-config />
HTH,
Eberhard
--
Eberhard Wolff
Service Delivery Director
SpringSource (Interface21 GmbH)
Sitz der Gesellschaft: Brentanostr. 52a - D-12163 Berlin
Geschäftsführer: Steven Schuurman, Rod Johnson
Amtsgericht Charlottenburg - HRB 103773 B
Author, "Spring 2 - Framework für die Java Entwicklung"
http://www.spring-buch.de/
Founding Member Java Champions
https://java-champions.dev.java.net/
Mail: eberhar...@springsource.com
Skype: ebr.wolff
Blog: http://JandIandMe.blogspot.com/
Mailing List: http://www.springsource.com/news-de
Korbinian Bachl wrote:
> deinen Ansatz mit dem PUM werd ich mal probieren, dann war ich also
> doch näher dran als gedacht. Nur, nutzt du jetzt wieder die
> jpa.JpaTransactionManager - ich dachte sobald mehrere PUs beteiligt
> sind muss man auf JTA setzen??? - ich finde die spring-doku dazu etwas
> verwirrend, gelinde gesagt.
Das ist kein Spring-Thema, sondern eine Frage des Aufbaus der Anwendung.
Wenn man Transaktionen über mehrere Datenquellen will, muss man halt JTA
haben, ob mit oder ohne Spring.
> PS: dein Buch war bisher ne große Hilfe
Danke!
> - was mir etwas gefehlt hat
> war ein Kapitel indem es primär um den Idealaufbau einer SpringWebApp
> geht - also wie man das ganze am besten "ordnet", ob man Interfaces
> nutzen sollte oder nicht (man hat ja im Gegensatz zu EJB die Wahl) -
Nun ja, das ist eine allgemeine Frage. Der Aufbau einer Anwendung und
auch die Programmierung gegen Interfaces sind allgemeine Fragen, die
unabhängig von Spring sind. Interfaces erlauben einen einfacheren
Austausch der Implementierung und einfacheres Testen. Die Aufteilung in
Packages ist ebenfalls eine Frage der Architektur - dazu sollte es
andere Literatur geben.
> quasi so n Ideal Spring-Blueprint mit Erklärungen;
Helfen die Samples für das Buch da weiter?
> ach ja, als
> WebFramework solltest du noch Wicket dazu nehmen - das passt super mit
> Spring zusammen und unterstützt es auch ganz gut
Wicket hat sicher einige Aufmerksamkeit, aber ich habe das Gefühl,
Struts, JSF und Spring MVC ist das, was die meisten tatsächlich nutzen.
Leider muss man bei der Menge an Frameworks, die Spring unterstützt
irgendwo Einschnitte machen. Danke auf jeden Fall für das Feedback!
Gruß,
Eberhard
--
Eberhard Wolff
Service Delivery Director
SpringSource (Interface21 GmbH)
Sitz der Gesellschaft: Brentanostr. 52a - D-12163 Berlin
Geschäftsführer: Steven Schuurman, Rod Johnson
Amtsgericht Charlottenburg - HRB 103773 B
Author, "Spring 2 - Framework für die Java Entwicklung"
http://www.spring-buch.de/
Founding Member Java Champions
https://java-champions.dev.java.net/
Mail: eberhar...@springsource.com