Grails совместно использует GSP с несколькими пользователями

У меня есть GSP, когда к нему обращаются два или более пользователей одновременно, он выдает

Row was updated or deleted by another transaction

Есть ли способ безопасно поделиться render

Примечание. Во время рендеринга нет операции обновления или сохранения.


person Suganthan Madhavan Pillai    schedule 07.03.2014    source источник


Ответы (1)


Чувак, ты устал от действий, которые обновляют, перечисляют и читают или связаны со строкой?

@Transactional или заняться concurrencyStuff exception обработкой

//Предположим, что ваши домены реализованы точно так же или должны быть такими

class Author {
    String name
    Integer age
    static hasMany = [books: Book]
}

// вариант один в ваших контроллерах или классе обслуживания

Author.withTransaction { status ->
    new Author(name: "Stephen King", age: 40).save()
    status.setRollbackOnly()
}
Author.withTransaction { status ->
    new Author(name: "Stephen King", age: 40).save()
}

//or

@Transactionl
def AuthorController () {

[list:list]
}

//или определить такую ​​услугу

import org.springframework.transaction.annotation.Transactional
class BookService {

    @Transactional(readOnly = true)
    def listBooks() {
        Book.list()
    }

    @Transactional
    def updateBook() {
        // …
    }

    def deleteBook() {
        // …
    }
}

для получения дополнительной информации посетите: Надеюсь, это будет немного полезно, приятель !

person Daniel Adenew    schedule 07.03.2014
comment
Не могли бы вы немного пояснить, если вы не против поделиться своей электронной почтой, я могу поделиться своим кодом - person Suganthan Madhavan Pillai; 07.03.2014
comment
Чувак, спасибо за уделенное время, в моем контроллере проблем нет, это из-за задержки в процессе рендеринга - person Suganthan Madhavan Pillai; 10.03.2014