[RESOLVIDO] Iniciar serviço do jetty

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.

[quote=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.[/quote]

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 só dá run e pronto, sua aplicação estará funcionando.

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.

[quote=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.[/quote]

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.

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:

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.

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

Deixa o pom.xml fora disso.

[code]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);
    }
}

}[/code]