Dúvida Forward Grails
25/07/2014 13:55
0
Pessoal boa tarde,

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:

class UrlMappings {

static mappings = {

"/"(controller: 'main', action: 'executa')
"/$acao"(controller: 'main', action: 'executa')
"/$acao/$id"(controller: 'main', action: 'executa')

"500"(view:'/error')
}
}

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:

class MainController {

def empresaService;

def executa() {
def empresa = empresaService.getEmpresa(request.getServerName());
if(params.acao == null) {
forward(controller: empresa.controlador, action: "index", params: params)
} else {
forward(controller: empresa.controlador, action: params.acao, params: params)
}
}
}

Controlador ImobiliariaController com todas as closures para o site e Imóveis

class ImobiliariaController {

def index() {
render('index')
}

def teste() {
render('teste')
}

def teste2(Long id) {
render('teste2')
}
}

class RevendaController {

def index() {
render('index 2')
}

def teste() {
render('teste 2')
}

def teste2(Long id) {
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?


Valeu.
Tags: Forward, Dúvida, Grails, Forward Controller


0
Oi Leandro,

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ê.



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto