# Dienst automatisch angehalten



## Guest (10. Sep 2007)

Moin @lle

Ich versuche grad ein Java-Programm als Dienst unter Winodw XP laufen zu lassen.

Das Programm macht (vorerst) nix als "Hallo Welt" in eine Text-Datei zu schreiben.
Habs als jar exportiert, und bei Doppelklick drauf macht es das auch, das Text-Datei schreiben.

Nun hab ich es dann zuerst mit runassvc, dann mit srvany (hab ich mit der Suchfunktion beide hier ausm Forum) als Dienst angemeldet. In beiden Fällen wird der Dienst zwar angemeldet, jedoch 1. nicht von allein gestartet, und 2. was noch schlimmer ist beim starten von Hand bekomme ich, ohne das die Text-Datei erstellt wurde, als Fehlermeldung: 

_Dienst "JServ" wurde auf "Lokaler Computer" gestartet und dann angehalten. Einige Dienste werden automatisch angehalten, wenn sie sich im Leerlauf befinden, wie z.b. Leistungsprotokoll- und Alarmdienste._

Hier mal der Code:

```
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class JServ { 
    public static void main(String[] args) { 
        BufferedWriter out;
        try {
            out = new BufferedWriter(new FileWriter("c:/Programme/IFAI/errorlog.txt"));
            out.write("hallo welt");
            out.flush(); 
            out.close(); 
        } catch (IOException e) {
            System.err.println("dbman().writeConfig():Probleme beim Schreiben...");
            String fehler = "dbman().writeConfig():Probleme beim Schreiben...!\n\n" + e.getMessage();
            JOptionPane.showMessageDialog(null, fehler, "Fehler", JOptionPane.ERROR_MESSAGE);
             e.printStackTrace();
        } 
    } 
}
```

Weiss jemand woran das liegen könnte?


----------



## gast (18. Sep 2007)

das selbe problem hat ich mit meinem dienst auch, aber habe keine ahnung an was das liegen könnte -.-


----------



## tuxedo (18. Sep 2007)

Vergleicht man die Aussage:



> Dienst "JServ" wurde auf "Lokaler Computer" gestartet und dann angehalten. Einige Dienste werden automatisch angehalten, *wenn sie sich im Leerlauf befinden*, wie z.b. Leistungsprotokoll- und Alarmdienste.



mit dem Code


```
public static void main(String[] args) {
        BufferedWriter out;
        try {
            out = new BufferedWriter(new FileWriter("c:/Programme/IFAI/errorlog.txt"));
            out.write("hallo welt");
            out.flush();
            out.close();
        } catch (IOException e) {
            System.err.println("dbman().writeConfig():Probleme beim Schreiben...");
            String fehler = "dbman().writeConfig():Probleme beim Schreiben...!\n\n" + e.getMessage();
            JOptionPane.showMessageDialog(null, fehler, "Fehler", JOptionPane.ERROR_MESSAGE);
             e.printStackTrace();
        }
    }
```

.. dann ist doch klar warum der Dienst angehalten wird. Das Programm macht nix mehr, also wird es angehalten. Hätte es durchgehend was zu tun, würde der Dienst wohl auch nicht anhalten.

Warum allerdings die Textdatei nicht erstellt wird weiß ich auch nicht.


----------

