Dúvida Forward Grails
Estou fazendo alguns testes aqui e queria saber a opinião de vocês, criei a um tempo atrás um construtor de sites para imobiliárias. Acontece que agora eu quero criar um "vertical" para revenda de automóveis, motos entre outros no mesmo aplicativo.
Estava efetuando alguns testes e criei um código mais ou menos assim:
Mapeamento das Urls:
"/"(controller: 'main', action: 'executa')
"/$acao"(controller: 'main', action: 'executa')
"/$acao/$id"(controller: 'main', action: 'executa')
Controlador "MainController" com uma closure chamada "executa", esse cara vai receber todas as requisições e distribuir para os outros controladores.. segue o código abaixo:
def empresaService;
def executa() {
def empresa = empresaService.getEmpresa(request.getServerName());
if(params.acao == null) {
forward(controller: empresa.controlador, action: "index", params: params)
forward(controller: empresa.controlador, action: params.acao, params: params)
Controlador ImobiliariaController com todas as closures para o site e Imóveis
class ImobiliariaController {
render('index')
def teste() {
render('teste')
def teste2(Long id) {
render('teste2')
class RevendaController {
render('index 2')
render('teste 2')
render('teste2 2')
Tenho algumas dúvidas se puderem me ajudar.
Será que o MainController da conta de processar muitas requisições? pode ter alguma sobrecarga ou travar deixando a aplicação lenta?
Alguma outra forma de fazer?
Tags: Forward, Dúvida, Grails, Forward Controller
o segredo neste caso é sempre ter o seu controlador, serviços, etc com o mínimo de estado possível. Assim sendo, ele vai dar conta de lidar com um número de requisições que vai de encontro à capacidade do seu próprio servidor.
Depende muito do código que tem por trás do seu sistema: o action é apenas um pedaço da sua aplicação. Se ficar pesado (o que duvido muito), talvez você possa pensar em uma outra abordagem como, por exemplo, incluir um servidor Apache na frente para fazer o redirecionamento para você.