Threads e JSP

Olá pessoal… preciso fazer o controle de serviços utilizando threads, já fiz em aplicações desktop mas nao tenho nenhuma experiencia em JSP (nenhuma é nenhuma mesmo).
Voces teriam algum tutorial explicando como fazer as benditas threads em JSP?
(segue a classe que seria o que preciso, só que em JSP).

package threads;

public class Show{

    public static void main(String[] agrs) {

                mensagem01();
                System.out.println();
                mensagem02();
                System.out.println();
                mensagem03();
                System.out.println();
    }

    public static void mensagem01() {
                try {
                           System.out.println("Start Script Mensagem01:");
                           String msg="Process01.";
                           System.out.println(msg);
                           new Thread().sleep(4000);
                           for (int i = 0; i < 10; i++) {
                                       msg +=".";
                                       //new Thread().wait(4000);
                           }
                           msg +=" OK!";
                           System.out.println(msg);
                } catch (Exception e) {
                           // TODO: handle exception
                }
    }

    public static void mensagem02() {
                try {
                           System.out.println("Start Script Mensagem02:");
                           String msg="Process02.";
                           System.out.println(msg);
                           new Thread().sleep(8000);
                           for (int i = 0; i < 10; i++) {
                                       msg +=".";
                                       //new Thread().wait(4000);
                           }
                           msg +=" OK!";
                           System.out.println(msg);
                } catch (Exception e) {
                           // TODO: handle exception
                }
    }

    public static void mensagem03() {
                try {
                           System.out.println("Start Script Mensagem03:");
                           String msg="Process03.";
                           System.out.println(msg);
                           new Thread().sleep(1000);
                           for (int i = 0; i < 10; i++) {
                                       msg +=".";
                                       //new Thread().wait(4000);
                           }
                           msg +=" OK!";
                           System.out.println(msg);
                } catch (Exception e) {
                           // TODO: handle exception
                }
    }

}

Valeu pela ajuda pessoal!

new Thread().sleep(1000); 

Essa é a primeira vez que vejo um código desses. Normalmente eu escreveria

Thread.sleep (1000);

que não força a criação de threads, que são recursos do sistema operacional muito dispendiosos.

[quote=Igor Mendes]Olá pessoal… preciso fazer o controle de serviços utilizando threads, já fiz em aplicações desktop mas nao tenho nenhuma experiencia em JSP (nenhuma é nenhuma mesmo).
Voces teriam algum tutorial explicando como fazer as benditas threads em JSP?
(segue a classe que seria o que preciso, só que em JSP).

package threads;

public class Show{

    public static void main(String[] agrs) {

                mensagem01();
                System.out.println();
                mensagem02();
                System.out.println();
                mensagem03();
                System.out.println();
    }

    public static void mensagem01() {
                try {
                           System.out.println("Start Script Mensagem01:");
                           String msg="Process01.";
                           System.out.println(msg);
                           new Thread().sleep(4000);
                           for (int i = 0; i < 10; i++) {
                                       msg +=".";
                                       //new Thread().wait(4000);
                           }
                           msg +=" OK!";
                           System.out.println(msg);
                } catch (Exception e) {
                           // TODO: handle exception
                }
    }

    public static void mensagem02() {
                try {
                           System.out.println("Start Script Mensagem02:");
                           String msg="Process02.";
                           System.out.println(msg);
                           new Thread().sleep(8000);
                           for (int i = 0; i < 10; i++) {
                                       msg +=".";
                                       //new Thread().wait(4000);
                           }
                           msg +=" OK!";
                           System.out.println(msg);
                } catch (Exception e) {
                           // TODO: handle exception
                }
    }

    public static void mensagem03() {
                try {
                           System.out.println("Start Script Mensagem03:");
                           String msg="Process03.";
                           System.out.println(msg);
                           new Thread().sleep(1000);
                           for (int i = 0; i < 10; i++) {
                                       msg +=".";
                                       //new Thread().wait(4000);
                           }
                           msg +=" OK!";
                           System.out.println(msg);
                } catch (Exception e) {
                           // TODO: handle exception
                }
    }

}

Valeu pela ajuda pessoal![/quote]

Desculpe desapontá-lo, mas esse código executa em uma única thread. Além do mais, para que raios você quer criar thread dentro de JSP’s !? :shock: . JSP’s devem ser usadas somente para apresentação de dados, não deve conter regras de negócio e muito menos threads, conexões com banco e coisas do tipo. Outro fato que você deve considerar é que o web container já trata isso para você. Cada requisição a um Servlet ou JSP já é tratada em uma thread separada.

Opa!
Valeu pela atenção pessoal!

Nao implementei as threads ai nao!!! ASHUAHSUHSUHSA
Eu só preciso parar um processo por um tempo determinado para depois executá-lo novamente.
Mas quando passo para o jsp esses erros do Apache:

An error occurred at line: 8 in the jsp file: /Teste/Teste.jsp
Syntax error on token “void”, @ expected
5:
6:
7: <%
8: public static void mensagem01() {
9: try {
10: out.println(“Start Script Mensagem01:”);
11: String msg=“Process01.”;

An error occurred at line: 8 in the jsp file: /Threads/Teste.jsp
Syntax error, insert “enum Identifier” to complete EnumHeaderName
5:
6:
7: <%
8: public static void mensagem01() {
9: try {
10: out.println(“Start Script Mensagem01:”);
11: String msg=“Process01.”;

An error occurred at line: 8 in the jsp file: /Threads/Teste.jsp
Syntax error, insert “EnumBody” to complete BlockStatement
5:
6:
7: <%
8: public static void mensagem01() {
9: try {
10: out.println(“Start Script Mensagem01:”);
11: String msg=“Process01.”;

Eu acho q deve ser uma coisa mto boba, mas como eu nao tenho noçao nenhuma de jsp, devo estar patinando em coisa simples.

Em JSP você não faz esse tipo de coisas (você normalmente faz alguma coisa do tipo “pegar algum dado no banco e mostrá-lo o mais rapidamente possível”.

Normalmente você pode agendar a execução de alguma tarefa, usando o Quartz, que é uma biblioteca que pode ser adicionada à sua aplicação Web.

Seria alguma coisa do tipo:
Funcao 1- Start por 2 segundos;
Funcao 1 - Stop
Funcao 2 - Start por 5 segundos;
Funcao 2 - Stop
Funcao 3 - Start por x segundos;
Funcao 3 - Stop

A decisao de implementar isto por threads foi decisao minha, pois seria a maneira como implementaria no Java Desktop.
Estou aceitando qualquer sugestao!!

Na verdade, isto seria implementado num software de controle de datacenter, para balanceamento de carga entre servidores virtualizados. Mas como eu disse, nao conheço nada de JSP.

Consegui resolver… fiz a mesma coisa, mas separei o metodo da maneira mais porca com o <%! .
Agora funcionou.

Ficou bem ruim, mas fiquei mto feliz de rodar um JSP pela primeira vez na vida!
Obrigado pela atençao pessoal!