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] -------------------------------------------------------------------------
