Prezados Carlos e Alex, apesar de estar caindo meio de
paraquedas e naum saber direito o problema, tente
implementar com RMI somente para fazer a leitura dos
dados e se vc for implementar mais alguma tarefa para
executar em paralelo, utilize threads
Correcao, se vc naum implementa SingleThreadModel, naum
� que vc tenha uma excecao, vc tem realmente � multiplas
instancias de um mesmo servlet ou ate applet e
standalone e abrindo comunicacao, vc fecha
automaticamente o que abriu!!!!!!
Abra�os
Carlos Maur�cio
> Prezado Alex,
>
> Primeiramente gostaria de me desculpar pela afirma��o
abaixo. Realmente n�o
> tem nada a ver o fato de usar "SingleThreadModel" com
o travamento do
> Applet. Respondi o texto abaixo porque recebi alguns
erros de exception no
> passado, quando n�o implementei este modelo e fixei a
id�ia de que s�
> conseguiria estabelecer o STREAM desta forma.
>
> Observando os exemplos do site http://www.servlets.com
existem 3 solu��es:
> Via STREAM sem ser SingleThreadModel, via Sockets e
via RMI.
>
> Implementei a 1. op��o e o Applet continuou travando
se eu modificar mais
> rapidamente a caixa de sele��o. Aparentemente o Applet
n�o consegue
> administrar o fluxo de dados intenso entre o Input e o
Output do STREAM,
> causando o travamento.
>
> Mesmo simulando uma �nica conex�o, se eu ficar
clicando na seta para baixo a
> fim de alterar a caixa de sele��o mais rapidamente o
Applet trava, perdendo
> o controle sobre a opera��o de troca de dados com o
Servlet.
>
> Vou tentar implementar as outras alternativas e ver se
consigo um melhor
> resultado, ok?
>
> []'s
>
> Carlos Campos
>
>
>
> > ----- Mensagem original -----
> > De: Carlos Campos
> > Enviada em: Sexta-feira, 30 de Mar�o de 2001 16:58
> > Para:       '[EMAIL PROTECTED]'
> > Assunto:    RES: [java-list] Trocando dados entre
Applets e Bancos de
> > Dados
> >
> > Oi Alex,
> >
> > Creio que vc realmente n�o entendeu o meu objetivo.
> >
> > O servlet precisa implementar o
modelo "SingleThread" para estabelecer uma
> > comunica��o cont�nua e �nica via stream entre o
Applet e o Servidor. Se vc
> > ignorar o modelo "SingleThread" aparentemente n�o �
poss�vel fechar um
> > canal de comunica��o entre o seu Applet e o Servlet
comum, tendo em vista
> > que o servlet n�o saberia para qual applet enviar a
resposta, gerando uma
> > exception. H� menos que vc utilize o
redirecionamento padr�o de p�ginas,
> > onde cada thread do servlet gera uma p�gina de
retorno para cada
> > requisi��o.
> >
> > Neste caso espec�fico eu n�o estou querendo gerar
p�ginas de retorno do
> > meu servlet. Estou querendo ficar na minha p�gina
inicial, PARADINHO, com
> > o meu Applet conversando com um Servlet no servidor
que atender� todas as
> > minhas requisi��es, entendeu ???
> >
> > Estou pesquisando, por indica��o do Handerson Gomes,
o site
> > http://www.servlets.com onde existem alguns exemplos
deste tipo de
> > comunica��o via SOCKETS e via RMI utilizando algumas
classes adaptadas.
> >
> > Vou tentar me virar sozinho, ok?
> >
> > Qualquer coisa eu grito!!!
> >
> > []'s
> >
> > Carlos Campos
> >
> > ----- Mensagem original -----
> > De:         Alex Dornelas Felipelli
[SMTP:[EMAIL PROTECTED]]
> > Enviada em:         Sexta-feira, 30 de Mar�o de 2001
15:40
> > Para:               [EMAIL PROTECTED]
> > Assunto:            Re: [java-list] Trocando dados
entre Applets e
> > Bancos de Dados
> >
> > Eu ainda n�o entendi o porqu� de o Servlet ser
SingleThread.
> > O que tem isso a ver com o "pula pula de p�ginas
HTML"? Voc� mudar de URL,
> > n�o tem nada a ver com a instancia da Servlet que
voc� est� acessando.
> > N�o sei se eu entendi direito o seu problema, mas eu
tenho impress�o que
> > voc� poderia deixar de implementar o
SingleThreadModel. Porque voc�
> > colocou
> > isso inicialmente?
> >
> > N�o entendo de RMI, mas deve haver uma maneira de
fazer o que voc� est�
> > querendo mesmo, j� que voc� ter� um client (applet)
acessando remotamente
> > o
> > objeto no seu servidor.
> >
> > Alex
> >
> > ----- Original Message -----
> > From: "Carlos Campos" <[EMAIL PROTECTED]>
> > To: "'Lista SouJava'" <[EMAIL PROTECTED]>
> > Sent: Friday, March 30, 2001 2:05 PM
> > Subject: ENC: [java-list] Trocando dados entre
Applets e Bancos de Dados
> >
> >
> >
> >
> > > ----- Mensagem original -----
> > > De: Carlos Campos
> > > Enviada em: Sexta-feira, 30 de Mar�o de 2001 14:02
> > > Para: '[EMAIL PROTECTED]'
> > > Assunto: RES: [java-list] Trocando dados entre
Applets e Bancos de
> > > Dados
> > >
> > > Oi Alex,
> > >
> > > Agrade�o por vc ter repondido o meu e-mail.
> > >
> > > Eu n�o utilizo a interface "SingleThreadModel"
para todos os servlets,
> > mas
> > > apenas para este tipo de comunica��o onde o Applet
fica recebendo e
> > > enviando os dados para o Servlet sem ocorrer o
redirecionamento de
> > p�gina.
> > >
> > > Ou seja, me corrija se eu estiver errado, mas
quando se utiliza Servlets
> > > vc envia solicita��es ou dados via GET ou POST e
executa um Servlet no
> > > servidor que processa a informa��o e te devolve
uma p�gina HTML com os
> > > resultados, certo?
> > >
> > > Neste caso espec�fico, estou evitando o "pula pula
de p�ginas HTML". O
> > > usu�rio carrega a Applet uma vez numa p�gina HTML,
e acessa os dados no
> > > lado Servidor sem que seja necess�rio trocar de
p�gina HTML, entendeu
> > ???
> > >
> > > Parece que existe uma possibilidade de implementar
os Servlets
> > > Multithreads via pacotes RMI, de modo a atender
especificamente esta
> > > necessidade, mas ainda estou a busca de um
exemplo, ok?
> > >
> > > Qualquer orienta��o me avise e muito obrigado
amigo.
> > >
> > > []'s
> > >
> > > Carlos Campos
> > >
> > > ----- Mensagem original -----
> > > De: Alex Dornelas Felipelli
[SMTP:[EMAIL PROTECTED]]
> > > Enviada em: Sexta-feira, 30 de Mar�o de 2001 12:13
> > > Para: [EMAIL PROTECTED]; 'Handerson Gomes -
Java'; 'Lista
> > > Webmasters'
> > > Assunto: Re: [java-list] Trocando dados entre
Applets e
> > > Bancos de Dados
> > >
> > > Esse "travamento" � devido ao limite de instancias
de servlet no seu
> > > Servlet
> > > Server
> > > Como o seu servlet � SingleThreadModel, o seu
Server criar� uma
> > instancia
> > > dele para cada requisi��o simult�nea.
> > > Esse limite de instancias, normalmente, pode ser
configurado no seu
> > > Servlet
> > > Server.
> > > Por�m, o ideal seria voc� tornar o seu Servlet
MultiThread.
> > > Porque voc� implementa a interface
SingleThreadModel? Uma das vantagens
> > do
> > > Servlet � justamente voc� poder ter apenas uma
instancia e v�rias
> > threads
> > > para cada request.
> > >
> > > Alex Felipelli
> > >
> > > ----- Original Message -----
> > > From: "Carlos Campos" <[EMAIL PROTECTED]>
> > > To: "'Lista SouJava'" <java-
[EMAIL PROTECTED]>; "'Handerson Gomes -
> > > Java'"
> > > <[EMAIL PROTECTED]>; "'Lista Webmasters'"
> > <[EMAIL PROTECTED]>
> > > Sent: Friday, March 30, 2001 9:29 AM
> > > Subject: [java-list] Trocando dados entre Applets
e Bancos de Dados
> > >
> > >
> > > Prezados Javaneses,
> > >
> > > H� alguns anos estabeleci um modelo de
desenvolvimento de sistemas
> > > orientados � WEB que se baseava nos seguintes
princ�pios:
> > >
> > > 1.) Interface com o usu�rio utilizando formul�rios
HTML com valida��o em
> > > JavaScript;
> > > 2.) Se necess�rio, um pequeno Applet de apoio,
utilizando LiveConnect
> > > (class
> > > JSObject) que integra o JavaScript com Servlets
via Applets;
> > > 3.) Servlets utilizando ODBC-JDBC atrav�s do free
software VqServer;
> > >
> > > Naquela �poca eu evitei de programar a interface
puramente em Applet
> > Java
> > > por problemas de performance e por n�o encontrar
uma ferramenta de
> > > desenvolvimento adequada (IDE). Todas eram muito
pesadas (Jbuilder 1 e
> > 3,
> > > NetBeans, Forte, VisualAge etc...) e geravam
applets muito pesados, al�m
> > > de
> > > serem invi�veis para se trabalhar no ambiente
Windows. O pessoal da
> > Fauna
> > > Inform�tica fez at� um coment�rio que n�o era bom
misturar muitas
> > > tecnologias mas, pelas raz�es descritas acima,
evitei de programar
> > > puramente
> > > em Java, no lado cliente.
> > >
> > > H� algumas semanas baixei o Jbuilder 4 Foundation
e, ao contr�rio do
> > Forte
> > > da SUN que gera um c�digo limpo e bonito mas que
ainda � muito pesado
> > para
> > > operar, encontrei um produto bastante amadurecido,
com uma performance
> > no
> > > ambiente Windows bastante suport�vel e me animei
de desenvolver todas as
> > > minhas interfaces com "Applets Pure Java". Apenas
como refer�ncia,
> > utilizo
> > > um K6 II 350 com 96 MB para desenvolvimento de
sistemas sob Windows 98.
> > >
> > > O motivo da minha interven��o na Lista � que j�
utilizo, mesmo com a
> > > interface HTML com LiveConnect, uma t�cnica de
Stream onde o usu�rio
> > clica
> > > numa Caixa de Sele��o, por exemplo, e uma chave �
enviada do JavaScript
> > > para
> > > o Applet Java via LiveConnect e este Applet se
comunica com um Servlet
> > no
> > > servidor atrav�s da t�cnica ObjectOutputStream,
conforme abaixo:
> > >
> > >   // Retorna Objetos do Tipo String
> > >   protected void retString(HttpServletResponse
hsrsp, String resultado)
> > {
> > >
> > >     ObjectOutputStream outputToApplet;
> > >
> > >     try {
> > >       outputToApplet = new ObjectOutputStream
(hsrsp.getOutputStream());
> > >       outputToApplet.writeObject(resultado);
> > >       outputToApplet.flush();
> > >       outputToApplet.close();
> > >       }
> > >     catch(IOException e) {
> > >       System.out.println(e.toString());
> > >       }
> > >   }
> > >
> > > O problema � que eu tenho implementado um servlet
do modelo Single
> > Thread,
> > > conforme abaixo, e � estabelecido um fluxo
cont�nuo entre o meu Applet e
> > o
> > > Servlet, que consulta ou atualiza o Banco de
Dados, retornando um flag
> > de
> > > grava��o bem sucedida, ou mesmo os dados do
registro, no caso de
> > consulta
> > > ou
> > > leitura do Bd.
> > >
> > > public class Jb001 extends HttpServlet implements
SingleThreadModel
> > >
> > >
> > > Embora este modelo funcione bem, algumas vezes
ocorre um travamento no
> > > Applet se muitos usu�rios acessarem ao mesmo tempo
este recurso. Ent�o
> > vai
> > > o
> > > meu pedido de orienta��o:
> > >
> > > 1.) Utilizo um foco de desenvolvimento orientado
para o Browser e sei
> > que
> > > �
> > > poss�vel criar aplica��es no Servidor que
trabalhem via Sockets ou RMI
> > se
> > > comunicando com o meu Applet, mas creio que isto
implicaria em
> > inicializar
> > > todas estas aplica��es Java no Servidor NT e
gerenciar a sua execu��o
> > > certo
> > > ???
> > >
> > > 2.) Para evitar isto me concentrei em utilizar um
Servlet Server, de
> > modo
> > > que todo o meu desenvolvimento Server e contato
com as bases de dados
> > > ocorra
> > > via Servlet. � poss�vel implementar uma outra
forma de programa��o, via
> > > Servlet, que n�o utilize o "SingleThreadModel" e
que me garanta uma
> > > comunica��o MULTITHREAD entre os meus Applets e os
Servlets, ou serei
> > > obrigado a inicializar e gerenciar Aplica��es Java
rodando no servidor e
> > > trabalhando com Sockets ou RMI ???
> > >
> > > Agrade�o pelos coment�rios e sugest�es,
> > >
> > > []'s
> > >
> > > Carlos Campos
> > > Analista de Sistemas / Bolsista PCI
> > > [EMAIL PROTECTED]
> > > MCT / CETEM - Centro de Tecnologia Mineral
> > > Fone: 0xx21 3865-7358
> > > Fax :  0xx21 290-9196
> > >
> > >
> > > ------------------------------ LISTA SOUJAVA
> > ----------------------------
> > > http://www.soujava.org.br  -  Sociedade de
Usu�rios Java da Sucesu-SP
> > > d�vidas mais comuns:
http://www.soujava.org.br/faq.htm
> > > regras da lista:
http://www.soujava.org.br/regras.htm
> > > para sair da lista: envie email para
> > [EMAIL PROTECTED]
> > >
> > -----------------------------------------------------
--------------------
> > >
> > >
> > >
> > > ------------------------------ LISTA SOUJAVA
> > ----------------------------
> > > http://www.soujava.org.br  -  Sociedade de
Usu�rios Java da Sucesu-SP
> > > d�vidas mais comuns:
http://www.soujava.org.br/faq.htm
> > > regras da lista:
http://www.soujava.org.br/regras.htm
> > > para sair da lista: envie email para
> > [EMAIL PROTECTED]
> > >
> > -----------------------------------------------------
--------------------
> >
> > ------------------------------ LISTA SOUJAVA --------
--------------------
> > http://www.soujava.org.br  -  Sociedade de Usu�rios
Java da Sucesu-SP
> > d�vidas mais comuns:
http://www.soujava.org.br/faq.htm
> > regras da lista: http://www.soujava.org.br/regras.htm
> > para sair da lista: envie email para java-list-
[EMAIL PROTECTED]
> > -----------------------------------------------------
--------------------
> >
> >
> >
> > ------------------------------ LISTA SOUJAVA --------
--------------------
> > http://www.soujava.org.br  -  Sociedade de Usu�rios
Java da Sucesu-SP
> > d�vidas mais comuns:
http://www.soujava.org.br/faq.htm
> > regras da lista: http://www.soujava.org.br/regras.htm
> > para sair da lista: envie email para java-list-
[EMAIL PROTECTED]
> > -----------------------------------------------------
--------------------
>
> ------------------------------ LISTA SOUJAVA ----------
------------------
> http://www.soujava.org.br  -  Sociedade de Usu�rios
Java da Sucesu-SP
> d�vidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para java-list-
[EMAIL PROTECTED]
> -------------------------------------------------------
------------------
>
>


__________________________________________________________________________
O BOL � Top3 no iBest! Vote j� para torn�-lo Top1!
http://www.bol.com.br/ibest.html



------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a