Tag Archive for 'Server'

Persistierung von Http Sessions beim Neustart vom Glassfish verhindern

Wenn man viel mit Spring arbeitet kennt man das Problem. Wenn der Server neu gestartet  oder die Web Applikation undeployed wird, fallen einen sofort die unschönen NotSerializableExceptions auf. Ok, kann man mit leben, ist ein bekanntes Problem… Jedoch bin ich durch Zufall auf die Lösung gestoßen.

Per Default werden Http Sessions vom Glassfish eh nur im Speicher gehalten, jedoch versucht der Server beim Neustart die noch laufenden Sessions in eine Datei zu schreiben (serialisieren). Das kann durch eine Konfiguration in der sun-web.xml unterbunden werden:

<sun-web-app>
    <session-config>
      <session-manager persistence-type="memory">
        <manager-properties>
          <property name="sessionFilename" value="" />
        </manager-properties>
      </session-manager>
    </session-config>
  </sun-web-app>

Beim “sessionFilename” wird einfach das value leer gelassen. Für den Glassfish heißt das, dass er nix speichern soll. Nachzulesen auch auf der Website von sun.

MySQL Server auf Mac OS X 10.5 Leopard installieren

Wenn man erstmal weiß, wie es geht, dann ist immer alles ganz einfach. So auch bei der Installation einer MySQL Datenbank auf dem Mac. Um mir die Arbeit in Zukunft noch leichter zu machen, poste ich hier mal meine mini HowTo…

  • Download der MySQL DB im “package format” für Mac OS X 10.5. Das hat den Vorteil, dass sich die DB fast komplett automatisch installiert.
  • Package starten und der simplen Installationsanleitung folgen.
  • Die DB befindet sich nun im Verzeichnis (wobei “mysql” nur ein Alias ist und auf die aktuelle Installation zeigt):
/usr/local/mysql/
  • Der Service kann nun gestartet werden mit:
cd  /usr/local/mysql/bin
sudo ./mysqld_safe&

Der Service sollte jetzt im Hintergrund laufen. Die grundlegende Installation ist nun, ob man es glaubt oder nicht, abgeschlossen. Allerdings sind keine Passwörter gesetzt für den root user und von außen ist der Zugriff auf die DB auch nicht möglich. Um dieses Manko zu beheben, müssen noch einige Einstellungen vorgenommen werden und machen genau da weiter, wo wir aufgehört haben:

  • Login in die DB mit (unter /usr/local/mysql/bin):
./mysql -u root
  • Da noch kein Passwort gesetzt wurde, sollte man umgehend mit dem mysql server verbunden sein und ihn mit statements füttern können. Welche Nutzer existieren und ob ein Passwort gesetzt ist, kann man herausfinden mit (Passwörter werden in der DB nur als Hashwerte gespeichert):
SELECT host, user, password FROM mysql.user;
  • Passwörter können für bestehende User so gesetzt werden:
SET PASSWORD FOR ''@'localhost' = PASSWORD('passwort');
 
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('passwort');
 
SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('passwort');
  • Damit der Zugriff auch von außen möglich ist, empfiehlt es sich einen neuen Nutzer anzulegen. Das kann man so machen (es wird der Nutzer “mysql” angelegt):
GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'localhost' IDENTIFIED BY 'passwort' WITH GRANT OPTION;
 
GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' IDENTIFIED BY 'passwort' WITH GRANT OPTION;

Das war’s schon. Das Verbinden zum Server dürfte ab jetzt nur noch möglich sein  mit (vorher mit “exit” ausloggen ;-) ):

./mysql -u root -p

Wenn man den Service nun noch in der Firewall frei gibt, kann man vom Netzwerk aus auf die DB zugreifen. Zum Entwickeln und Rumspielen reicht das erstmal so. Eine ausführliche Anleitung gibt es natürlich in der Dokumentation vom MySQL Server.

Glassfish Installation unter Windows

In den meisten Fällen reicht es aus, einfach nur NetBeans runter zu laden und zu installieren. Dort wird der Glassfish automatisch mitgeliefert. Will man NetBeans aber nicht haben und eventuell sogar mehrere verschiedene Versionen des Glassfish parallel installieren, muss man andere Wege gehen.

Man lädt sich keine setup.exe runter, wie man es als Windowsnutzer gewöhnt ist, sondern ein JAR-Archiv von der Seite glassfish.dev.java.net. Auf der Downloadseite findet sich auch die folgende Anleitung auf englisch:

  • Prüfen, ob JAVA_HOME in den Umgebungsvariablen auf den richtigen JDK gesetzt sind.
  • In der Eingabeaufforderung im entsprechenden Verzeichnis folgenden Befehl ausführen:
java -Xmx256m -jar filename.jar
  • Der Server wird im Verzeichnis \glassfish entpackt. Danach folgende Befehle ausführen:
cd glassfish
lib\ant\bin\ant -f setup.xml
  • Done.

    Ob man es glaubt oder nicht, das war’s schon. Das Ant Script konfiguriert alles was nötig ist, um den Server mit:

    cd /bin
    asadmin start-domain domain1

    zu starten.

    FileZilla

    Aus eigenen Erfahrungen kann ich als FTP Client, wie auch als FTP Server FileZilla empfehlen. Zu bekommen unter sourceforge.net . Das ganze ist freie Software und somit kostenlos.

    Fedora 6 und Yum

    Was die Installation neuer Software betrifft muss man sich im Gegensatz zu Windows ein wenig umstellen. Diesbezüglich stelle ich mich aber gerne um, denn wenn erstmal alles eingerichtet ist, läuft der Rest wie geschiert. Die Installation von Linux selber ist heut zutage ja gar kein Problem mehr: Iso runterladen, brennen, neu booten, Installationsanleitung folgen, fertig. Ok, ein wenig Hintergrundwissen ist zwar noch notwendig, aber wer eh ein Auge auf Linux geworfen hat, für den sollte das kein Problem mehr sein. Wenn ja, sollte man doch die Finger davon lassen. Continue reading ‘Fedora 6 und Yum’