[RESOLVIDO] Iniciar serviço do jetty

6 respostas
M

Olá,

Estou começando a utilizar o Jetty, na versão 7. Gostaria de saber se há alguma forma automática de iniciar o serviço. Ou então uma forma que não exija que o prompt esteja aberto após a inicialização.

Obrigada.

6 Respostas

D

mdadoorian:
Olá,

Estou começando a utilizar o Jetty, na versão 7. Gostaria de saber se há alguma forma automática de iniciar o serviço. Ou então uma forma que não exija que o prompt esteja aberto após a inicialização.

Obrigada.

Existe sim, é só seguir este tuto que vou fazer rapidinho!!!

1° - Utilize o MAVEN em seu projeto
2° - Acrescente a seguinte linha no pom.xml do seu projeto:

<plugin>
                       . . .
		        <groupId>org.mortbay.jetty</groupId>
		        <artifactId>maven-jetty6-plugin</artifactId>
		        <configuration>
		          <scanIntervalSeconds>10</scanIntervalSeconds>
		          <connectors>
		            <connector implementation=
		                "org.mortbay.jetty.nio.BlockingChannelConnector">
		              <port>8080</port>
		              <maxIdleTime>0</maxIdleTime>
		            </connector>
		          </connectors>
		        </configuration>
		        <dependencies>
		          <dependency>
		            <groupId>org.apache.geronimo.specs</groupId>
		            <artifactId>geronimo-j2ee_1.4_spec</artifactId>
		            <version>1.0</version>
		            <scope>provided</scope>
		          </dependency>
		        </dependencies>
	      	</plugin>
                       . . .
3° - Clique com o botão direito em cima do seu projeto > Run As > Maven Builder;

Irá abrir pela primeira vez o Run Configurations > Aba MAIN > Goals > Select > Digite a palavra Jetty;

Aparecerá uma listagem;

Selecione: jetty6 - org.mortbay.jetty:maven-jetty6-plugin > run;

4° - Após escolher, o campo Goals ficará assim: org.mortbay.jetty:maven-jetty6-plugin:6.0.0beta17:run

5º - Agora   run e pronto, sua aplicação estará funcionando.
M

Obrigada pela resposta… :slight_smile:
Mas, então eu preciso configurar isso em cada aplicação? Não existe uma configuração direto no Jetty?

Obrigada.

D

mdadoorian:
Obrigada pela resposta… :slight_smile:
Mas, então eu preciso configurar isso em cada aplicação? Não existe uma configuração direto no Jetty?

Obrigada.

Bem eu faço assim, pois eu não quero perder tempo. na verdade isso é um copy/paste de outros projetos que usei e quando vou usar em algum sistema que desejo usar o Jetty, apenas eu copio e colo esses parâmetros.

Mas nunca parei para verificar se tem como ir direto pelo jetty.

Isso merece uma “boa catucada” no Jetty e quem sabe um post bem detalhado aqui no fórum. :smiley:

[]'s.

M

Bom, pode ser uma pergunta boba, mas vou fazer rs:
Existe alguma forma de eu deixar o Jetty rodando sem ter uma janela do shell aberta?
Temos várias aplicações prontas aqui e modificá-las para usar o Maven vai ser muito custoso. :frowning:

M

Coloquei o comando para rodar o Jetty num arquivo de inicialização do linux (bootmisc) e com isso o serviço ficou rodando em segundo plano.
Obrigada.

R

Você pode usar uma classe java para isso. Basta executa-la como Java Application.

Deixa o pom.xml fora disso.

public class Start {

    public static void main(String[] args) throws Exception {
        Server server = new Server();
        SocketConnector connector = new SocketConnector();

        // Set some timeout options to make debugging easier.
        connector.setMaxIdleTime(1000 * 60 * 60);
        connector.setSoLingerTime(-1);
        connector.setPort(8080);
        server.setConnectors(new Connector[] {connector});

        WebAppContext bb = new WebAppContext();
        bb.setServer(server);
        bb.setContextPath("/");
        bb.setWar("src/main/webapp");

        // START JMX SERVER
        // MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
        // MBeanContainer mBeanContainer = new MBeanContainer(mBeanServer);
        // server.getContainer().addEventListener(mBeanContainer);
        // mBeanContainer.start();

        server.addHandler(bb);

        try {
            System.out.println(">>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP");
            server.start();
            System.in.read();
            System.out.println(">>> STOPPING EMBEDDED JETTY SERVER");
            while (System.in.available() == 0) {
                Thread.sleep(5000);
            }
            server.stop();
            server.join();
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(100);
        }
    }
}
Criado 4 de novembro de 2009
Ultima resposta 5 de nov. de 2009
Respostas 6
Participantes 3