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