Forums

Home » Liferay Portal » Español » 3. Desarrollo

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Roberto Díaz
BatchSessionUtil no funciona
September 18, 2012 7:23 AM
Answer

Roberto Díaz

Rank: New Member

Posts: 2

Join Date: November 25, 2011

Recent Posts

Al intentar crear un procedimiento con BatchSessionUtil no consigo que haga rollback si se produce un error.

Este es el método que creo en XXXLocalServiceImpl

 1
 2public void deleteXXXTransaccionBatch(long xxxId){
 3        try{
 4            //Creamos una transaccion, Rollback automático si se produce una excepcion
 5            BatchSessionUtil.setEnabled(true);
 6            //obtenemos los datos de la xxx que se va a borrar
 7            XXX xxxTemp = XXXLocalServiceUtil.getXXXn(xxxId);            
 8            // Borramos usuarios
 9            UserAsociadosUtil.removeByUsuariosReunion(xxxId);
10            // Borrar comentarios
11            ComentariosUtil.removeByComentarioReunion(xxxId);
12            // Borramos el evento
13            CalEventLocalServiceUtil.deleteCalEvent(EventoXXXUtil
14                    .findByPrimaryKey(xxxId).getEventoId());
15            // Borramos el archivo del orden del dia
16            DLFileEntryLocalServiceUtil.deleteDLFileEntry(xxxTemp
17                    .getDocumento());
18            // Borrar los archivos asociados
19            DocsAsociadosUtil.findByDocumentosXXX(xxxId);
20            // Finalmente booramos la reunion            
21            XXXUtil.remove(xxxId);
22            Integer.valueOf("asdf");
23            }catch (Exception e){
24                e.printStackTrace();
25            }
26              finally {
27                BatchSessionUtil.setEnabled(false);
28             }
29    }


Alguna idea???

Ah!! Estoy trabajando (por obligaciones del guión) con LR 5.2.3.
Fou crazy
RE: BatchSessionUtil no funciona
November 21, 2012 12:53 AM
Answer

Fou crazy

Rank: New Member

Posts: 15

Join Date: September 30, 2010

Recent Posts

Me encuentro en una situación similar, estoy intentando realizar que una serie de operaciones con los ServiceUtil de Liferay se ejecuten como una sola transacción para que pueda hacerse un rollback en caso de fallo en alguna de ellas. En mi caso estoy utilizando Liferay 6 y he intentado:
- BatchSessionUtil
- Agrupar toda la funcionalidad en un servicio y marcarlo como @Transactional
- Forzar uso de transacciones mediante Aop.

Y aún no he conseguido nada.
Fou crazy
RE: BatchSessionUtil no funciona
November 22, 2012 8:39 AM
Answer

Fou crazy

Rank: New Member

Posts: 15

Join Date: September 30, 2010

Recent Posts

Al final para hacerlo funcionar lo he implementado como se puede ver en este otro hilo del foro:
http://www.liferay.com/community/forums/-/message_boards/message/18120250