KomServer startet nicht

Jastol

Mitglied
Hi,

ich sitze jetzt seit einigen Tagen an einem Problem für das Ich bisher keine Lösung finden konnte. Ich habe eine Art Kommunikationsserver mit Eclipse Juno programmiert, welcher Hl7 Nachrichten auswertet und in eine postgres Datenbank schreiben soll. In Eclipse funktioniert es auch wunderbar und Ich habe Ihn mit verschiedenen Testnachrichten gestartet. Nachdem Ich das ganze jetzt aber mit Maven zu einer jar gebaut habe funktioniert es nichtmehr. Ich bekomme zwar die Oberfläche der Applikation (Dort wird Port, Verbundungsanzahl, Logpfad eingetragen) wenn Ich aber auf meinen Start Button drücke passiert allerdings nichts.

Hier der Code des ActionAdapters:
Java:
buttonListener = new ActionAdapter() {
			public void actionPerformed(ActionEvent e) {
				// Request a connection initiation
				if (e.getActionCommand().equals("start")) {
					LoggerUrl.getInstance().setUrl(loggerText.getText());
					if (portText.getText().compareTo("") != 0
							&& zeitText.getText().compareTo("") != 0
							&& verbindungText.getText().compareTo("") != 0) {
						orv = new OldRecordValidator(zeitText.getText());
						ms = new MessageServer(Integer.parseInt(portText
								.getText()), Integer.parseInt(verbindungText
								.getText()));
						orv.startServer();
						ms.startServer();
						startButton.setEnabled(false);
						stopButton.setEnabled(true);
						JOptionPane.showMessageDialog(null,
								"Server wird auf Port: " + portText.getText()
										+ " mit " + verbindungText.getText()
										+ " Verbindungen um geöffnet");
					} else
						JOptionPane
								.showMessageDialog(null,
										"Server konnte nicht gestartet werden. Bitte überprüfen Sie Ihre eingaben");
				}
				// Disconnect
				else {
					ms.stopServer();
					orv.stopServer();
					JOptionPane.showMessageDialog(null,
							"Der Server wurde beendet");
					startButton.setEnabled(true);
					stopButton.setEnabled(false);
				}
			}
		};
Und hier der Message Server:
Java:
public class MessageServer {

	private int maxConnections;
	private int listenPort;
	private boolean aktiv;
	private List<ConnectionHandler> handlerThreads;
	private static final Logger logger = ApplicationLogger.getInstance();

	public MessageServer(int aListenPort, int maxConnections) {
		listenPort = aListenPort;
		this.maxConnections = maxConnections;
	
		handlerThreads = new ArrayList<ConnectionHandler>();
		logger.info("Server gestartet mit " + maxConnections
				+ " auf Port " + aListenPort);
		setUpConnectionHandlers();
	}

	private void acceptConnections() {
		Runnable serverRunnable = new Runnable()
		{
		    public void run()
		    {
		try {
			ServerSocket server = new ServerSocket(listenPort, 100);
			Socket clientSocket = null;
			while (aktiv == true) {
				clientSocket = server.accept();
				handleConnection(clientSocket);
			}server.close();
		} catch (BindException e) {
			logger.info("Unable to bind to port " + listenPort);
		} catch (IOException e) {
			logger.info("Unable to instantiate a ServerSocket on port: "
					+ listenPort);
		}    }
		};
		Thread serverThread = new Thread(serverRunnable);
		serverThread.start();
		
	}

	private void handleConnection(Socket connectionToHandle) {
		ConnectionHandler.processRequest(connectionToHandle);
	}

	private void setUpConnectionHandlers() {
		for (int i = 0; i < maxConnections; i++) {
			ConnectionHandler currentHandler = new ConnectionHandler();
			currentHandler.start(i);
			handlerThreads.add(currentHandler);

		}
	}

	public void startServer(){
		for (int i = 0; i < handlerThreads.size(); i++) {
			handlerThreads.get(i).start(i);
		}
		aktiv = true;
	
		acceptConnections();
	}
	public void stopServer() {
		this.aktiv = false;
		for (int i = 0; i < handlerThreads.size(); i++) {
			handlerThreads.get(i).interrupt();
			handlerThreads.get(i).stop();
				
		}logger.info("Server wurde gestoppt");
	}

}


Hoffe mir kann jemand nen Tipp geben :) Vielen Dank für die Hilfe.
 

Jastol

Mitglied
showMessageDialog ist in allen Zweigen, irgenwas wird doch wohl angezeigt?

Nein der Dialog wird nicht aufgerufen und die Tastenbelegung ändert sich auch nicht. Ich hab auch einen Client zu Testzwecken. Dieser erreicht den Server auch nicht, dass heißt der Port (Ich teste mit 8082) wird nicht von dem Server belegt.
Da es meine erste nicht Web Applikation ist bin Ich recht ratlos an was es noch liegen könnte. Gibt es in Java vll eine Möglichkeit in die laufende Applikation einen Debugger einzubauen?

Hier mal die komplette Gui:
Java:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;

import javax.swing.*;
import javax.swing.text.DateFormatter;

import logger.LoggerUrl;

import communication.MessageServer;
import database.OldRecordValidator;

public class Gui extends JFrame {
	private JButton startButton;
	private JButton stopButton;
	private JPanel ueberschrift;
	private JPanel eingabePanel;
	private JPanel buttonPanel;
	private JLabel communicationLabel;
	private JLabel portLabel;
	private JLabel verbindungLabel;
	private JLabel zeitLabel;
	private JLabel loggerLabel;
	private JLabel text1;
	private JLabel text2;
	private JLabel text3;
	private JLabel text4;
	private JLabel text5;
	private JFormattedTextField portText;
	private JFormattedTextField verbindungText;
	private JFormattedTextField zeitText;
	private JTextField loggerText;
	private JLabel empty;
	private JButton logger;
	private JFileChooser fileChooser;
	private OldRecordValidator orv;
	private MessageServer ms;
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public Gui() {
		super("Kommandooberfläche Infect");
		setLocation(600, 500);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new BorderLayout(5, 5));
		SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
		DateFormatter df = new DateFormatter(sdf);
		ActionAdapter buttonListener = null;
		fileChooser = new JFileChooser();
		fileChooser.setFileFilter(new MyFileFilter(".txt"));

		// JPanel
		eingabePanel = new JPanel(new GridLayout(5, 5));
		ueberschrift = new JPanel(new GridLayout(7, 1));
		buttonPanel = new JPanel(new GridLayout(1, 2));

		// JButton
		buttonListener = new ActionAdapter() {
			public void actionPerformed(ActionEvent e) {
				// Request a connection initiation
				if (e.getActionCommand().equals("start")) {
					LoggerUrl.getInstance().setUrl(loggerText.getText());
					if (portText.getText().compareTo("") != 0
							&& zeitText.getText().compareTo("") != 0
							&& verbindungText.getText().compareTo("") != 0) {
						orv = new OldRecordValidator(zeitText.getText());
						ms = new MessageServer(Integer.parseInt(portText
								.getText()), Integer.parseInt(verbindungText
								.getText()));
						orv.startServer();
						ms.startServer();
						startButton.setEnabled(false);
						stopButton.setEnabled(true);
						JOptionPane.showMessageDialog(null,
								"Server wird auf Port: " + portText.getText()
										+ " mit " + verbindungText.getText()
										+ " Verbindungen um geöffnet");
					} else
						JOptionPane
								.showMessageDialog(null,
										"Server konnte nicht gestartet werden. Bitte überprüfen Sie Ihre eingaben");
				}
				// Disconnect
				else {
					ms.stopServer();
					orv.stopServer();
					JOptionPane.showMessageDialog(null,
							"Der Server wurde beendet");
					startButton.setEnabled(true);
					stopButton.setEnabled(false);
				}
			}
		};

		startButton = new JButton("Kommunikation Starten");
		startButton.setActionCommand("start");
		startButton.addActionListener(buttonListener);
		startButton.setEnabled(true);
		stopButton = new JButton("Kommunikation Stoppen");
		stopButton.setActionCommand("stop");
		stopButton.addActionListener(buttonListener);
		stopButton.setEnabled(false);
		logger = new JButton("Pfad waehlen");
		logger.addActionListener(new OpenAction());
		logger.setEnabled(true);

		// JLabel
		communicationLabel = new JLabel("Kommunikations Oberfläche");
		portLabel = new JLabel("Port Nummer: ");
		verbindungLabel = new JLabel("Max. Verbindungen: ");
		zeitLabel = new JLabel("Uhrzeit für Löschung: ");
		loggerLabel = new JLabel("Pfad für Log-Datei");
		text1 = new JLabel(
				"Bitte geben Sie einen freien Port an in dem Ihre Nachrichten von einem externen Kommunikationsserver ankommen");
		text2 = new JLabel(
				"und die Anzahl der gleichzeitig zu verarbeitenden Verbindungen.(Es dürfen hierbei nur Zahlen eingetragen werden).");
		text3 = new JLabel(
				"Bitte geben Sie auch eine Uhrzeit für das Löschen veralteter Datensätze im Format hh:mm ein.");
		text5 = new JLabel(
				"Als letztes muss noch der Pfad eingegeben werden in dem die Log-Datei Hinterlegt wird");
		text4 = new JLabel("");
		// JTextField
		NumberFormat intForm = NumberFormat.getNumberInstance();
		intForm.setGroupingUsed(false);
		portText = new JFormattedTextField(intForm);
		verbindungText = new JFormattedTextField(intForm);
		zeitText = new JFormattedTextField(df);
		empty = new JLabel("");
		loggerText = new JTextField(20);
		loggerText.setEditable(false);

		// Panel einsetllen
		buttonPanel.add(startButton);
		buttonPanel.add(stopButton);
		ueberschrift.add(communicationLabel);
		ueberschrift.add(text4);
		ueberschrift.add(text1);
		ueberschrift.add(text2);
		ueberschrift.add(text3);
		ueberschrift.add(text5);
		eingabePanel.add(portLabel);
		eingabePanel.add(portText);
		eingabePanel.add(verbindungLabel);
		eingabePanel.add(verbindungText);
		eingabePanel.add(zeitLabel);
		eingabePanel.add(zeitText);
		eingabePanel.add(loggerLabel);
		eingabePanel.add(logger);
		eingabePanel.add(empty);
		eingabePanel.add(loggerText);

		// Frame einstellen
		getContentPane().add(BorderLayout.SOUTH, buttonPanel);
		getContentPane().add(BorderLayout.NORTH, ueberschrift);
		getContentPane().add(BorderLayout.CENTER, eingabePanel);

		setResizable(false);
		pack();
		setVisible(true);
	}

	class OpenAction implements ActionListener {
		public void actionPerformed(ActionEvent ae) {
			// ... Open a file dialog.
			int retval = fileChooser.showDialog(Gui.this,
					"Bitte Datei für Logger wählen");
			if (retval == JFileChooser.APPROVE_OPTION) {
				// ... The user selected a file, get it, use it.
				File file = fileChooser.getSelectedFile();

				// ... Update user interface.
				loggerText.setText(file.getAbsolutePath());
			}
		}
	}
}

Hab den Dialog mal vor
Java:
 if (portText.getText().compareTo("")
gezogen. Hier wird er aufgerufen, also es geht auf jeden Fall bei
Java:
if (e.getActionCommand().equals("start"))
rein, aber scheint die Threats nicht zu starten.
 
Zuletzt bearbeitet:

Jastol

Mitglied
Hab jetzt noch etwas rumprobiert und es scheint definitiv daran zu liegen dass dieser Programmcode nicht ausgeführt wird:
Java:
 orv = new OldRecordValidator(zeitText.getText());
						ms = new MessageServer(Integer.parseInt(portText
								.getText()), Integer.parseInt(verbindungText
								.getText()));
						
						orv.startServer();
						ms.startServer();
						startButton.setEnabled(false);
						stopButton.setEnabled(true);

Ich weiß nur nicht warum, da es ja wie gesagt in Eclipse funktioniert. In der POM.xml werden auch eigentlich alle benötigten Libarys importiert.

Prinzipiell muss es an der Klasse MessageServer liegen. Ich hab jetzt etwas mit auskommentieren rumexperimentiert und wenn Ich den Klassenaufruf und die start() auskommentiere funktioniert es.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Deployte Anwendung startet auf dem anderen PC nicht ! Tools - Maven, Gradle, Ant & mehr 1
M Java Application startet bei verschiedenen JRE's nicht Tools - Maven, Gradle, Ant & mehr 7
A Applet Applet startet nach Einbinden auf Website nicht Tools - Maven, Gradle, Ant & mehr 4
jemandzehage .jnlp mit JOGL startet nicht korrekt Tools - Maven, Gradle, Ant & mehr 9
S Webstart startet unter Linux, bei Windows nicht Tools - Maven, Gradle, Ant & mehr 8
D Java Webstart startet .jar file nicht Tools - Maven, Gradle, Ant & mehr 13
B Java-Applet startet nicht aus dem Browser Tools - Maven, Gradle, Ant & mehr 1
M Thread startet nicht Tools - Maven, Gradle, Ant & mehr 5
M Applet startet nicht im Browser Tools - Maven, Gradle, Ant & mehr 8
I Applet startet nicht Tools - Maven, Gradle, Ant & mehr 11
M Applet startet beim zweiten Aufruf nicht mehr? Tools - Maven, Gradle, Ant & mehr 4
T Java - Applet startet nicht in Firefox und Mozilla Tools - Maven, Gradle, Ant & mehr 13
thor_norsk Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf IntelliJ IDE starten Tools - Maven, Gradle, Ant & mehr 8
S Gradle kann Lottie Implementation nicht finden Tools - Maven, Gradle, Ant & mehr 5
Gradle build funktioniert nicht Tools - Maven, Gradle, Ant & mehr 10
ExceptionOfExpectation Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf Eclipse starten Tools - Maven, Gradle, Ant & mehr 20
Ich kann Maven nicht als UmgebungsVariable hinzufügen Tools - Maven, Gradle, Ant & mehr 2
8u3631984 Hauptklasse konnte nicht gefunden oder geladen werden Tools - Maven, Gradle, Ant & mehr 9
Moman2022 Hauptklasse kann nicht gefunden werden gradle build Tools - Maven, Gradle, Ant & mehr 3
Encera JavaFX und Maven funktioniert nicht Tools - Maven, Gradle, Ant & mehr 1
W gradlew funktioniert nicht Tools - Maven, Gradle, Ant & mehr 37
8u3631984 Gradle nicht benötigte Dependencies finden Tools - Maven, Gradle, Ant & mehr 3
T Image kreieren mit Maven bei JavaFX und nicht modularen Jars Tools - Maven, Gradle, Ant & mehr 12
Robertop maven copy-resources nicht in WAR Datei Tools - Maven, Gradle, Ant & mehr 2
von Spotz Gradle: Warum wird das Plugin nicht geladen? Tools - Maven, Gradle, Ant & mehr 4
M durch Maven wird "var" nicht gefunden Tools - Maven, Gradle, Ant & mehr 4
M Maven jpackage-image wird nicht gefunden Tools - Maven, Gradle, Ant & mehr 22
M javafx wird in einem alten programm nicht bei maven gefunden Tools - Maven, Gradle, Ant & mehr 15
P Maven Test werden nicht ausgeführt . Junit . Maven . Surefire . Eclipse Tools - Maven, Gradle, Ant & mehr 12
N Regex in nicht-gierigen Regex umwandeln Tools - Maven, Gradle, Ant & mehr 0
P Maven & Intellij Modul kann nicht aufgelöst werden Tools - Maven, Gradle, Ant & mehr 12
H Maven Bekomme cobertura in jenkins nicht zu laufen :-( Tools - Maven, Gradle, Ant & mehr 1
T Tomcat Server zeigt Webservice nicht an Tools - Maven, Gradle, Ant & mehr 21
pkm Beim Deployen wird ein Package nicht gefunden, obwohl aus Buildpath. Tools - Maven, Gradle, Ant & mehr 0
J netbeans - jasperreports - gradle - klappt nicht Tools - Maven, Gradle, Ant & mehr 0
C runnable jar nicht ausführbar Tools - Maven, Gradle, Ant & mehr 4
M Java mit Modulen kompilieren klappt nicht Tools - Maven, Gradle, Ant & mehr 9
L Ausführbare Jar-File funktioniert nicht Tools - Maven, Gradle, Ant & mehr 15
C while Schleife in Plugin stoppt nicht Tools - Maven, Gradle, Ant & mehr 23
X Javapackager kann common.io nicht finden Tools - Maven, Gradle, Ant & mehr 4
S Hauptklasse kann nicht geladen werden Tools - Maven, Gradle, Ant & mehr 2
Tom299 Maven Maven funktioniert nach Installation nicht Tools - Maven, Gradle, Ant & mehr 1
D Ressource nach deployen nicht erreichbar Tools - Maven, Gradle, Ant & mehr 1
S Maven installieren - "Befehl wurde nicht gefunden" Tools - Maven, Gradle, Ant & mehr 1
S Applet Java Testen - Ergebnis wird nicht angezeigt, nur leeres Feld Tools - Maven, Gradle, Ant & mehr 15
C Tomcat GWT Beispielprojekt läuft nicht. Tools - Maven, Gradle, Ant & mehr 0
A Tomcat deployed nicht Tools - Maven, Gradle, Ant & mehr 6
C Tomcat nicht über 8080 erreichbar Tools - Maven, Gradle, Ant & mehr 3
S Java Web Start wird nicht ausgeführt Tools - Maven, Gradle, Ant & mehr 1
G Maven, finde Dependency nicht... Tools - Maven, Gradle, Ant & mehr 2
M Maven Dependency lädt pom und nicht jar Tools - Maven, Gradle, Ant & mehr 0
V Appletviewer - Befehl nicht bekannt Tools - Maven, Gradle, Ant & mehr 1
D Ant JAR-Ressourcen in JNLP-Datei sind nicht von demselben Zertifikat signiert Tools - Maven, Gradle, Ant & mehr 2
T build job läuft nicht mit findBugs...WARUM? Tools - Maven, Gradle, Ant & mehr 1
T test schlägt im build fehl, lokal nicht, warum? Tools - Maven, Gradle, Ant & mehr 2
M Maven-Dependency kann nicht gefunden werden Tools - Maven, Gradle, Ant & mehr 2
K Subversion svn & Jenkins - Änderungen werden nicht angezeigt Tools - Maven, Gradle, Ant & mehr 4
P Applet Java Applet läuft im Browser nicht mehr (HTTPClient - NoClassDefFoundError) Tools - Maven, Gradle, Ant & mehr 3
H Applet Applet wird nicht angezeigt Tools - Maven, Gradle, Ant & mehr 2
VfL_Freak Webstart Startzeit verkürzen, wenn der WebServer nicht erreichbar ist ? Tools - Maven, Gradle, Ant & mehr 3
B Maven Selenium-Test läuft nicht unter Firefox Tools - Maven, Gradle, Ant & mehr 2
J Executable JAR geht nicht mehr... Tools - Maven, Gradle, Ant & mehr 2
D [MAVEN] Artifact wird nicht vom Repository(manager) geladen Tools - Maven, Gradle, Ant & mehr 5
G Webstart Anwendung läuft unter OSX aber nicht unter Windows Tools - Maven, Gradle, Ant & mehr 5
M Applet Applet funktioniert in Google Chrome nicht Tools - Maven, Gradle, Ant & mehr 2
O Applet "Anwendung kann nicht ausgeführt werden" Tools - Maven, Gradle, Ant & mehr 6
H Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 3
Q Applet Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 14
Spin SVN - cachen and session nicht commiten Tools - Maven, Gradle, Ant & mehr 3
D [Maven] Profil funktioniert bei package aber nicht bei release (help:active-profiles -> aktiv) Tools - Maven, Gradle, Ant & mehr 4
Ollek Launch4J - EXE mit ICO klappt nicht Tools - Maven, Gradle, Ant & mehr 3
G Maven JAR-File schmeißt NoClassDefFoundError wenn /lib Verzeichnis nicht daneben entpackt wird Tools - Maven, Gradle, Ant & mehr 9
c_sidi90 Maven findet javac Compiler nicht Tools - Maven, Gradle, Ant & mehr 4
eskimo328 Maven Firmen Repository Dependencies nicht über Internet Tools - Maven, Gradle, Ant & mehr 7
S Applet Signieren, Vertrauenswürder und nicht-vertrauenswürdiger Code Tools - Maven, Gradle, Ant & mehr 16
T Maven das mvn assembly:assembly funktioniert nicht so richtig Tools - Maven, Gradle, Ant & mehr 3
musiKk Maven Deploy von Bundles mit Abhängigkeiten an nicht-Bundles Tools - Maven, Gradle, Ant & mehr 5
A ProcessBuilder kann nach Deployment File nicht finden Tools - Maven, Gradle, Ant & mehr 4
P Ant svnant - Userdaten nicht speichern Tools - Maven, Gradle, Ant & mehr 4
A Applet: Html Datei und Class Datei nicht im selben Verzeichnis Tools - Maven, Gradle, Ant & mehr 2
M Jar kann nicht gestartet werden - main Class not found Tools - Maven, Gradle, Ant & mehr 5
M EJB wird nicht richtig deployed Tools - Maven, Gradle, Ant & mehr 2
T Maven pom.xml erkennt jboss nicht Tools - Maven, Gradle, Ant & mehr 4
S Applet GUI nicht im Webbrowser sichtbar Tools - Maven, Gradle, Ant & mehr 5
M Java3d Linie mit Antialiasing geht nicht ??? Tools - Maven, Gradle, Ant & mehr 15
DStrohma Webstart Webstart geht nicht da sqljdbc.jar nicht signiert werden kann Tools - Maven, Gradle, Ant & mehr 2
B Jar-Datei funktioniert nicht Tools - Maven, Gradle, Ant & mehr 4
F Applet findet include nicht Tools - Maven, Gradle, Ant & mehr 15
M Maven Maven compiliert nicht mit enum Tools - Maven, Gradle, Ant & mehr 7
S Fehler im IE, aber nicht in der IDE - wie finden? Tools - Maven, Gradle, Ant & mehr 6
B Java-Applet geht nicht (auf dem Webserver) Tools - Maven, Gradle, Ant & mehr 9
P Applet läuft nicht in Browser Tools - Maven, Gradle, Ant & mehr 21
V JAR-Datei eines (J)Applet funktioniert nicht - Help! Tools - Maven, Gradle, Ant & mehr 19
reibi Maven : Resourcen NICHT mit einbinden beim Builden Tools - Maven, Gradle, Ant & mehr 10
S Applet geht nicht Tools - Maven, Gradle, Ant & mehr 25
U Jar funktioniert nicht als Applet Tools - Maven, Gradle, Ant & mehr 3
S Maven + m2eclipse / "add dependency" sieht Maven central Repository nicht Tools - Maven, Gradle, Ant & mehr 6
Icewind Applet reagiert nach neu laden der Webseite nicht mehr verlässlich auf KeyEvents Tools - Maven, Gradle, Ant & mehr 6
P Webstart will nicht Tools - Maven, Gradle, Ant & mehr 4
T Webstart: Anwendung konnte nicht gestartet werden. Tools - Maven, Gradle, Ant & mehr 7

Ähnliche Java Themen

Neue Themen


Oben