Family killed by Ninjas – Need money for Karate lessons
Entwicklung
chkconfig: Init-Skript für Apache Tomcat
20. Sep
chkconfig und service sind zwei Werkzeuge unter Redhat, die die Runlevel-Verwaltung vereinfachen. Damit chkconfig feststellen kann, für welche Runlevel der betreffende Dienst aktiviert sein soll, muss man Meta-Informationen in den Skript-Header einfügen.
Apache Tomcat bringt in $CATALINE_HOME/bin/jsvc.tar.gz die Quellen eines Verwaltungswerkzeugs für sich mit. Dieses Paket kann man unter Centos 5.2 (installieren der RPMs gcc-c++ und autoconf ist notwendig) folgendermaßen übersetzen:
tar xfz jsvc.tar.gz
cd jsvc-src
./configure –with-java=/usr/java/default
make
cp jsvc ..
Mit dem folgenden Init-Skript kann man nun service und chkconfig für Apache Tomcat nutzen:
#!/bin/sh # # Startup script for the Apache Tomcat servlet container # # chkconfig: 345 55 25 # description: Apache Tomcat servlet container # processname: tomcat # pidfile: /var/run/tomcat/jsvc.pid # config: /opt/apache-tomcat-6.0.20/conf/server.xml JAVA_HOME=/usr/java/default CATALINA_HOME=/opt/apache-tomcat-6.0.20 DAEMON_HOME=/var/run/tomcat TOMCAT_USER=apache # for multi instances adapt those lines. TMP_DIR=/var/tmp PID_FILE=/var/run/tomcat/jsvc.pid CATALINA_OPTS= CLASSPATH=$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar prog="Tomcat" # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network case "$1" in start) # # Start Tomcat # echo -n "Starting $prog: " $CATALINA_HOME/bin/jsvc \ -user $TOMCAT_USER \ -home $JAVA_HOME \ -Dcatalina.home=$CATALINA_HOME \ -Djava.io.tmpdir=$TMP_DIR \ -wait 10 \ -pidfile $PID_FILE \ -outfile $CATALINA_HOME/logs/catalina.out \ -errfile '&1' \ $CATALINA_OPTS \ -cp $CLASSPATH \ org.apache.catalina.startup.Bootstrap # # To get a verbose JVM #-verbose \ # To get a debug of jsvc. #-debug \ if [ $? == 0 ]; then action else action fi ;; stop) # # Stop Tomcat # echo -n "Stopping $prog: " $CATALINA_HOME/bin/jsvc \ -stop \ -pidfile $PID_FILE \ org.apache.catalina.startup.Bootstrap if [ $? == 0 ]; then action else action fi ;; *) echo "Usage tomcat start/stop" exit 1;; esac
Netbeans vs. Eclipse
28. Aug
Ich muss ja zugeben, ich war nie ein großer Fan von Netbeans und habe immer Eclipse vorgezogen. Aber mit der Zeit habe ich das Gefühl, dass Eclipse immer schwächer wird; sei es die unnötig komplizierte Integration von SCM-Plugins oder die immer schwächer werdende WTP (immer mehr Features, aber auch immer mehr Bugs). Auch die lange Reaktionszeit für einige wirklich störende Bugs (z.B. die fehlenden Server-Adapter in Eclipse Ganymede, welche jetzt mit einem Update nachgeschoben wurden) ist wirklich unschön.
Dagegen scheint sich Netbeans langsam zu mausern. Die aktuelle Version bringt nicht nur native Maven-Unterstützung (was ich sehr schätze) mit, sondern auch integrierte SCM-Plugins für SVN/CVS/Mercurial. Außerdem gibt es nun SUN’s Project Kenai direkt aus dem Menü, sodass man seine Opensource-Projekte bei Kenai direkt aus Netbeans heraus verwalten kann. Rein subjektiv finde ich auch, dass die Oberfläche von Netbeans weitaus flotter ist und diese IDE im Vergleich zu Eclipse weniger Speicher verbraucht.
Mein nächstes Projekt wird jedenfalls ganz sicher mit Netbeans geschrieben werden
Unter http://www.certpal.com/blogs/2009/08/your-favorite-java-ide/ gibt es eine Umfrage zur beliebtesten Java-IDE (wenn auch nicht sehr repräsentativ wie ich finde). Bisher liefern sich Eclipse (45%) und Netbeans (47%) ein knappes Rennen.
Bug in Maven 2.2.0
17. Jul
Due to a bug in Maven 2.2.0, I am not able to add a 3rd-party-dependency to my local repository. I’m running Windows 7 with the Windows PowerShell/CMD and it does not recognize the parameter -Dversion=4.0.1, obviously because of some escape problems with the dot.
That is quite annoying because it’s only able to read -Dversion=4 => not the point of a dependency management tool
I filed a bug to the Apache JIRA bugtracker and hope I’ll get an answer soon.
UPDATE: The “=” seems to be a special/reserved character in Windows PowerShell, we have to put the parameters containing “=” in quotes, ie. “-Dversion=4.0.0″.
ShutDownListener in Java
29. Apr
Manchmal ist es in Java vernünftig, eine Art Destruktor zu schreiben, der z.B. permanent geöffnete Datenbank- oder Netzwerkverbindungen beendet. Dies kann man über einen sogenannten ShutdownHook in der Java Virtual Machine realisieren:
Runtime.getRuntime().addShutdownHook(new ShutdownHook());
public class ShutdownHook extends Thread { public void run() { // TODO: Implement } }
Nachtrag: Irgendwie will mein wp-syntax keine Zeilenumbrüche machen.
Kenai.com
28. Apr
Ich habe es glaube ich früher schon mal erwähnt, hier nochmal ein bisschen Werbung:
<snip>
Having gone live back in September of 2008, Project Kenai has exceeded over 6,000 members and has surpassed hosting 400 open source projects (quite an accomplishment).
We currently offer an integrated suite of productivity services for developers to host their open source code or connect with peers of like mind, and will be enabling additional cloud features very soon.
Today’s features include:
* Source Code Management (Subversion, Mercurial, and Git)
* Issue Tracking (Jira and Bugzilla)
* Wiki
* Forums
* Mailing Lists
* Download facility for documents
* Evolving integration with NetBeans
Anyone can join by going to http://kenai.com. And once they join, if parties are ready to start hosting a project, they simply need to send an invitation request with a description of their project to: kenai-admin@sun.com.
</snip>
Linus Torvalds
05. Dez
Ist keineswegs humorlos.
“Grr.
I want to be back under water.”
Zu lesen hier: http://torvalds-family.blogspot.com/
Die Freuden der Java-Programmierung
18. Nov
Ich war auf der Suche nach einem Programm, das mir aus einer XML-Datei eine XSD-Datei generiert. Gefunden, nennt sich Trang und befindet sich im Ubuntu-Repository.
trang -I xml -O XSD email.xml email_schema.xsd
liefert aber folgendes:
Exception in thread “main” java.lang.NullPointerException
*** Got java.lang.NullPointerException while trying to print stack trace.
Haha!
Edit: Ist in einer späteren Version behoben worden.
Die Geburt der Rubrik “Tutorials für J2EE”
11. Okt
Da ich mich in letzter Zeit privat stärker mit J2EE-Themen auseinandersetze, möchte ich in meinem Blog in Zukunft auch einige Sachen präsentieren. Deshalb werde ich in Kürze ein kleines Tutorial zur Datenbank-Verwendung mit Hibernate in Java veröffentlichen.
Nachtrag: Leider verschiebt sich die Veröffentlichung des Tutorials etwas, da ich gestern auf einen Fehler gestoßen bin, dem ich erst noch auf den Grund gehen muss.






Letzte Kommentare