2012-09-28 48 views
6

Tengo 2 apis REST donde "persisto" datos, en una "transacción". Tengo curiosidad por escuchar sugerencias sobre cómo garantizar que si el segundo tiene problemas, el primero podría ser "revertido".Transacciones de primavera para garantizar la coherencia en 2 servicios REST?

Actualmente tengo un ciclo de reintento y si eso falla, envío una eliminación a la primera llamada.

Funciona bien, solo tenía curiosidad si es posible usar transacciones de primavera para manejar esto.

De hecho, ¿hay otras opciones?

+0

Creo que puede obtener una mejor respuesta si publica esta pregunta en http://programmers.stackexchange.com/ Ese sitio debería tener más discusión al respecto. (Pero quizás esté equivocado, pero vale la pena intentarlo) – Steven

+0

¿Llamas a las API REST o proporcionas las API? – sourcedelica

Respuesta

3

Sería muy interesante y útil si algo como esto fuera posible, pero no creo que sea posible ya que no hay una API estándar para commits/rollbacks con API REST como con la API JDBC. Con Spring, nunca podría simplemente marcar un método como @Transactional ya que Spring no tendría idea de cómo "retrotraer" todo lo que hizo a través de una llamada REST sin tener que indicarlo explícitamente.

Cuestiones relacionadas