Salve Renato... Entendi o que voce quiz dizer...
O problema � que infelizente eu nao tenho como tirar a serializacao desses
comandos ao core agora pois eu estou tentando provar que um algoritmo de concorrencia
funciona. O q acontece � que eu fiz uma implementa��o baseada em um protocolo de
comandos ao core, e esses comandos sao tao "Atomicos", que sua execu��o ser�
extremamente r�pida...
Eu continuo com o paralelismo na quantidade de clientes, mas nao posso na
execu��o dos comandos (pelo menos nao nesse momento - pra mim cada comando tem que ser
executado no core atomicamente).
To vendo que nao vou ter muito mesmo como fugir de colocar o servlet nesse
ponto para esperar um poukinho colocando ele para durmir ou coisa parecida, enquanto
eu nao devolvo a resposta. Mas o legal � que se eu conseguisse passar a frente o
contexto do servlet, ele vai estar esperando, mas pelo menos lah na frente na execucao
do comando dentro do core eu nao precisaria devolve-lo para ele acordar para depois
retornar a resposta.
Num futuro breve, estarei implementando dessa outra forma, alguem envia,
alguem busca, pois pelo que tenho visto assim conseguirei aumentar ainda mais o
paralelistmo de minha solucao.
Grato pela for�a.
Marcelo Magno
> -----Original Message-----
> From: Renato Mangini Dias [mailto:renato@;vettatech.com]
> Sent: quarta-feira, 6 de novembro de 2002 08:48
> To: [EMAIL PROTECTED]
> Subject: RES: [enterprise-list] Foward de fluxo de execucao de um
> servlet
>
>
>
> Oi, Marcelo,
>
> Desculpe-me. Comecei a escrever uma resposta para voc�, mas
> me distra� e
> acabei esquecendo.
>
> O que voc� quer fazer n�o � recomendado. Basicamente, voc� estaria
> serializando o processamento inerentemente paralelo das
> servlets. Dessa
> forma, a escalabilidade do seu sistema vai a zero.
>
> Se voc� **realmente** precisa de que o processamento seja
> serializado (por
> exemplo, para garantir a ordem de execu��o), eu te
> aconselharia a fazer com
> que a chamada da servlet para o "core" seja s�ncrona, e n�o
> queue-based,
> como parece ser. Dessa forma, a thread da servlet ficaria aguardando o
> processamento do comando, e n�o haveria problema quanto ao retorno ao
> cliente. Isso vai exigir mais recursos do servidor web (maxconnections
> maior), mas do jeito que voc� quer fazer n�o vejo outra forma.
>
> Se voc� retirar o requisito do processamento no core ser
> serializado, fica
> bem mais simples.
>
> Abra�os,
>
>
> Renato Mangini Dias
> Software Architect at Vetta Technologies - www.vettatech.com
> Sun Java Certified Instructor/Programmer
>
>
>
> > -----Mensagem original-----
> > De: Marcelo Magno [mailto:mmagno@;blumar.com.br]
> > Enviada em: Wednesday, November 06, 2002 12:39 PM
> > Para: [EMAIL PROTECTED]
> > Assunto: RE: [enterprise-list] Foward de fluxo de execucao
> de um servlet
> >
> >
> > Tive um problema com as dicas de voces...
> >
> > Meu ponto aki � que tenho uma especie de nucleo rodando
> > dentro de uma classe minha que n�o � um servlet e pelo que eu
> > entendi, para usar esse
> > "getServletContext().getRequestDispatcher(alvo).foward(req,res)",
> > isso somente eh possivel sendo alvo um servlet ou pagina.
> >
> > Alguem poderia me dar uma ajuda?
> >
> > Abracos
> > MMAGNO
> >
> >
> > > >
> > > > pode, mas tem que estar dentro do contexto da mesma app.
> > > >
> > > > Marcelo Magno wrote:
> > > > > Salve Wilder, Tambem estou iniciando com servlets fazem
> > > > apenas 6
> > > > > meses...
> > > > >
> > > > > Eu posso fazer esse foward mesmo o alvo nao sendo um
> > > > servlet? Essa
> > > > >
> > > > > Abracos
> > > > > MMAGNO
> > > > >
> > > > > -----Original Message-----
> > > > > From: Wilder Rodrigues
> [mailto:wilder_rodrigues@;yahoo.com.br]
> > > > > Sent: ter�a-feira, 5 de novembro de 2002 11:13
> > > > > To: [EMAIL PROTECTED]
> > > > > Subject: Re: [enterprise-list] Foward de fluxo de
> > > > execucao de um servlet
> > > > >
> > > > > Ol�,
> > > > >
> > > > > Seria algo do tipo:
> > > > >
> > > > > RequestDispatcher rd =
> > > > getServletContext().getRequestDispatcher(alvo);
> > > > > rd.foward(request, resonse);
> > > > >
> > > > > Tenho pouca experi�ncia com Servlet, mas estou
> > > > estudando bastante.
> > > > > Espero ter ajudado.
> > > > >
> > > > > Atenciosamente,
> > > > >
> > > > > Wilder Rodrigues
> > > > > Programador JAVA/JSP
> > > > > Oracle OR8i | A8i
> > > > > Sena Inform�tica - Fortaleza/CE
> > > > > www.sena.com.br <http://www.sena.com.br>
> > > > >
> > > > > Marcelo Magno <[EMAIL PROTECTED]> wrote:
> > > > >
> > > > > Pessoal, to com um probleminha com relacao ao fluxo
> > > > de execucao
> > > > > de um servlet.
> > > > >
> > > > > Desenvolvi uma aplicacao que usa os servlets
> como braco de
> > > > > comunicacao no servidor, alem disso desenvolvi um
> > > modelo do
> > > > > pattern singleton para fazer como se fosse o
> nucleo de um
> > > > > servidor ao qual eu adiciono comandos (advindos
> > > do servlet).
> > > > >
> > > > > Pelo fato de ter uma arquitetura de certo modo
> > > > sincrona, e eu
> > > > > tenho de responder meu cliente usando o response
> > > desse mesmo
> > > > > servlet, e ai comeca meu problema meu problema.
> > > > >
> > > > > Quando chega um request, eu estava
> adicionando a fila de
> > > > > comandos desse meu singleton o comando a ser
> > > interpretado e
> > > > > ficava preso em um loop perguntando se esse meu
> > > > comando jah foi
> > > > > tratado e jah tem resposta para mim, senao botava o
> > > > servlet para
> > > > > durmir mais um poukinho. (aki eu estava ate
> > > desenvolvendo um
> > > > > modelinho com semaforos no singleton para ficar mais
> > > > > politicamente correto).
> > > > >
> > > > > Bem, mas fora a estorinha das sincroniza��es, o que
> > > > eu precisava
> > > > > era uma forma de dar um FOWARD do contexto do
> > > > servlet ou seja
> > > > > lah como isso se chame (notem nesse ponto que meu
> > > > singleton nao
> > > > > eh um servlet - e ai mora outro ponto de duvida),
> > > para o meu
> > > > > singleton de forma que o singleton apos ter
> completado a
> > > > > execucao do comando, mandasse ele mesmo a resposta
> > > > para o cliente.
> > > > >
> > > > > Isso � possivel de ser feito com servlets?
> > > > >
> > > > > Grato pela ajuda
> > > > > Marcelo Magno
> > > > >
> > > > >
> > > >
> > >
> ---------------------------------------------------------------------
> > > > > Para cancelar a subscri��o, envie mensagem para:
> > > > > [EMAIL PROTECTED]
> > > > > Para comandos adicionais, envie mensagem para:
> > > > > [EMAIL PROTECTED]
> > > > >
> > > > >
> > > > >
> > > > --------------------------------------------------------------
> > > > ----------
> > > > > Yahoo! GeoCities <http://br.geocities.yahoo.com/>
> > > > > Tudo para criar o seu site: ferramentas f�ceis de usar,
> > > > espa�o de
> > > > > sobra e acess�rios.
> > > > >
> > > >
> > > >
> > > > --
> > > > xxxxxxxxxxxxxxxxxxxxxxxxxxxx
> > > > | Emerson Cargnin |
> > > > | Analista de Sistemas Sr. |
> > > > | Tel : (051) 3358-4959 |
> > > > | SICREDI Servi�os |
> > > > | Porto Alegre - Brasil |
> > > > |xxxxxxxxxxxxxxxxxxxxxxxxxx|
> > > >
> > > >
> > > >
> > >
> ---------------------------------------------------------------------
> > > > Para cancelar a subscri��o, envie mensagem para:
> > > > [EMAIL PROTECTED]
> > > > Para comandos adicionais, envie mensagem para:
> > > > [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > >
> ---------------------------------------------------------------------
> > > Para cancelar a subscri��o, envie mensagem para:
> > > [EMAIL PROTECTED]
> > > Para comandos adicionais, envie mensagem para:
> > > [EMAIL PROTECTED]
> > >
> > >
> >
> >
> ---------------------------------------------------------------------
> > Para cancelar a subscri��o, envie mensagem para:
> > [EMAIL PROTECTED]
> > Para comandos adicionais, envie mensagem para:
> > [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> Para cancelar a subscri��o, envie mensagem para:
> [EMAIL PROTECTED]
> Para comandos adicionais, envie mensagem para:
> [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]