Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Запустить веб сервер как демона


Автор: getme 31.5.2010, 11:08
Здравствуйте
проблема такого рода

есть вот такой вот код (написан не мной) простенького веб сервера

Код

import my.HttpRequest;

import java.io.*;
import java.net.*;
import java.util.*;

public final class LuceneSearchServer {
    public static void main(String args[]) throws Exception {

        //Establish the listen socket
        int PORT = 9999;     //select your favorite number > 1123
        ServerSocket listenSocket = new ServerSocket(PORT);

        //Process HTTP service requests in an infinite loop
        while(true) {
            //listen for TCP connection request
            //Construct an object to process the HTTP request message
            HttpRequest request = new HttpRequest(listenSocket.accept());
            Thread thread = new Thread(request);
            thread.start();
        }
    }
}


HttpRequest класс работает с Lucene, делает поиск и отдает результаты в XML, работает это все хорошо
запускаю я его так /usr/bin/java -classpacth .:/usr/local/lucene/lucene.jar LuceneSearchServer

собственно вопрос, реально ли запускать этот класс как сервис? чтоб можно было запустить, остановить, проверить статус?
в поиске пробовал запустить через перл скрипт но у меня не работает

Автор: gcc 31.5.2010, 23:08
1)
*nix

Код

 #   java -jar server.jar -t &



2)

вот тут видел  http://base.vingrad.ru/view/92-Zapusk-Java-kak-demona

Код

#!/usr/bin/perl
use POSIX qw(setsid);
chdir '/'                 or die "Can't chdir to /: $!";
umask 0;
open STDIN, '/dev/null'   or die "Can't read /dev/null: $!";
open STDOUT, '>/dev/null' or die "Can't write to /dev/null: $!";
open STDERR, '>/dev/null' or die "Can't write to /dev/null: $!";
defined(my $pid = fork)   or die "Can't fork: $!";
exit if $pid;
setsid                    or die "Can't start a new session: $!";
system("java YourClassName");


Автор: getme 1.6.2010, 18:29
спасибо, решил немного по другому
в общем взял jetty, минимум опций + lucene
все работает smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)