Действие контроллера Grails выполнено несколько раз - PullRequest
0 голосов
/ 11 января 2012

В этом фрагменте возникает странная проблема:

class FooController {

  def barService

  def update = {
    log.debug("I'm getting executed")
    barService.doFoo()
    render "Done"
  }
}

Когда я сейчас ввожу http://my.domain.tld/fancyapp/foo/update в браузере (в моем случае Firefox), код в update выполняется три раза.


РЕДАКТИРОВАТЬ 1: barService.doFoo () содержит тяжелые вычисления, поэтому для завершения требуется довольно много времени.


РЕДАКТИРОВАНИЕ 2: @hvgotcodes: нет, извините, без аутентификации и мой UrlMappings.groovy выглядит следующим образом:

class UrlMappings {
  static mappings = {
    "/$controller/$action?/$id?"{
      constraints {
        // apply constraints here
      }
    }
    "/"(view:"/index")
    "500"(view:'/error')
  }
}

@ Джарред: Нет, только обычные подозреваемые Bootstrap.groovy, BuildConfig.groovy, Config.groovy, DataSource.groovy и UrlMappings.groovy.

Кто-нибудь намекает?

1 Ответ

0 голосов
/ 11 января 2012

Если запрос занимает слишком много времени, браузер может повторить запрос. Если вы можете улучшить производительность вашего метода doFoo (), он должен выполняться только один раз.

...