Hibernate, JPA 2 und orphanRemoval=true

Geschrieben von everflux am Mai 30th, 2010

Seit JPA 2 gibt es endlich die Moeglichkeit verweiste Objekte einer Collection loeschen zu lassen, so dass keine Hibernate spezifischen Annotationen mehr erforderlich sind.

Hier am Beispiel einer unidirektionalen Assoziation mit JPA 2:

@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
private Set<PhoneNumber> resultSet = new ArrayList<PhoneNumber>();

Seit Hibernate 3.5.0-Final wird dies auch unterstützt. Offenbar gibt es da aber noch (irgendwo) einen kleinen Bug. Auch kleine Bugs kann man sehr lange suchen. Wenn man weiß, dass ein Update auf Hibernate 3.5.2 Abhilfe schafft, kann man sich das Suchen auch sparen.
Man muss es eben nur wissen. Weiterlesen »

Ubuntu Lucid: Fehlerhafter Datei Upload mit Apache mod_fcgid

Geschrieben von everflux am Mai 22nd, 2010

Ubuntu Lucid beinhaltet eine neuere Version des Apache  Modules mod_fcgid als FastCGI Anbindung. Wer nun per FastCGI z.B. PHP laufen hat, und sich ueber defekte Dateiuploads wundert, dem sei dieser kurze Blogartikel ans Herz gelegt! (Wer kein FastCGI bzw. nicht mod_fcgid und Apache unter Lucid verwendet, bzw. kein Problem hat, dass z.B. Bilder nach dem Upload defekt sind, kann den Artikel getrost ignorieren.)

Weiterlesen »

Münster: Vortrag zu OpenJDK / Java 7

Geschrieben von everflux am Mai 19th, 2010

Am kommenden Mittwoch, dem 26.5., findet ein Vortrag zum Thema OpenJDK / Java 7 in Muenster statt. Der Referent ist Dalibor Topic arbeitet als Java F/OSS Ambassador bei Sun Microsystems in Hamburg mit der OpenJDK Community daran, Java in GNU/Linux-Distributionen fest zu verankern und Portierungen auf neue Platformen in das OpenJDK-Projekt einzubinden. Desweiteren ist er bekannt als Mitbetreiber der kaffe.org-Virtual-Machine sowie des GNU-Classpath-Projekts.

Der Vortrag ist kostenlos für jeden Teilnehmer und wird folgende Themen behandeln:

Wie ist der Zwischenstand bei JDK 7? Welche Features sind drin? Was hat es mit Closures auf sich? Wie weit ist die Modularisierung des JDK fortgeschritten? Was bringt invokedynamic in der Praxis? Wie breit ist die OpenJDK-Community aufgestellt? Diese Session ist ein Report aus dem Maschinenraum von JDK 7 und der OpenJDK-Community. 

Weitere Informationen, Anfahrt etc. gibt es auf der Homepage der Java Usergroup Münster: http://www.jug-muenster.de/

Rivva – genehmigt.

Geschrieben von everflux am Mai 18th, 2010

Normalerweise bin ich recht argwöhnisch was Crawler, Bots und derlei Zeugs angeht. So auch, als ich den Rivva Crawler in meinen Logs auftauchen sah:

178.63.0.67 - - [17/May/2010:13:10:46 +0200] "HEAD ... HTTP/1.1" 200 - "-" "Mozilla/5.0 (compatible; Rivva; http://rivva.de)" 0 everflux.de
178.63.0.67 - - [17/May/2010:13:13:19 +0200] "GET ....  HTTP/1.1" 200 29570 "-" "Mozilla/5.0 (compatible; Rivva; http://rivva.de)" 0 everflux.de

Vor dem Sperren schaue ich mir in der Regel die betreffende Webseite an – in der Regel ist das dann eine „neue Suchmaschine“ die mit SEO Mitteln versucht Adsense und dergleichen unters Volk zu jubeln, jedoch keinen oder geringen Nutzen bringt. Rivva sah dabei nicht schlecht aus, die About Seite klärte auf,  – und nach dem Blick auf den Namen des Autors war das grüne Licht dann an.

Noch besser wäre das Gefuehl natuerlich, wenn wirklich nur der Feed – und vielleicht auch das eine oder andere Mal die robots.txt abgerufen wuerde, statt die ganzen Seiten. Vielleicht hab ich das aber auch falsch verstanden.

Ein interessantes Projekt in jedem Fall, ich bin gespannt was daraus wird. Und ich werde in in den nächsten Wochen öfters mal drauf schauen auf den Fluss des Internets: rivva.de

PHP: gd-png: fatal libpng error: Read Error: truncated data

Geschrieben von everflux am Mai 17th, 2010

Gerade zum Bloggen von Webseiten-Screenshots bietet sich diese Firefox Extension an: Screengrab. Bisher hat das auch alles prima geklabbt: Ubuntu, Firefox, WordPress Blog und Ubuntu Server.

Neuerdings gibts da jedoch ein Problemchen: Beim Hochladen der Bilder ins WordPress gibt es nur das „broken Image“ Symbol, und auf dem Server wird ganz viel dieser Art geloggt:

gd-png:  fatal libpng error: Read Error: truncated data
gd-png error: setjmp returns error condition 2gd-png:  fatal libpng error: Read Error: truncated data
gd-png error: setjmp returns error condition 2gd-png:  fatal libpng error: Read Error: truncated data
gd-png error: setjmp returns error condition 2

Die defekten Zeilenvorschübe kommen dabei original so aus dem Logfile. Ich habe zwar nach der Fehlermeldung ein wenig gesucht, konnte jedoch lediglich einen Hinweis finden, dass es auf aktuelleren PHP Versionen (z.B. Ubuntu Lucid) evtl. zu Problemen mit der Kompressionsstufe 10 kommen kann. Weiterlesen »

Google: Langsam, langsamer, toooo slow

Geschrieben von everflux am Mai 17th, 2010

Google legt neuerdings Wert darauf, dass Webseiten schnell sind. Zumindest hat Google die Ladezeit von Webseiten neuerdings als (einen) Rankingfaktor offiziell bekannt gegeben. In den Google Webmaster Tools ist eine Ladezeit von ca. 2 Sekunden noch im „grünen“ Bereich.
Nachdem mir eben aufgefallen ist, dass Firefox Google besonders langsam war, konnte ich mir ein kleines Grinsen nicht verkneifen, als ich dann von Google selbst gesagt bekam, dass nicht mein Browser, sondern wirklich Google langsam war. Und ich meine langsam: Sagenhafte 12 Sekunden fuer eine relativ simple Suchabfrage.

Selbst nachdem ich die selbe Abfrage nochmals verwendete – hier darf man ja aller spätestens einen warmen Cache annehmen – kam das Resultat erst nach 3-4 Sekunden. Wer es nicht glaubt, ich habe echte Screenshots! Weiterlesen »

USB funktioniert nicht mit Ubuntu Lucid: Lösung

Geschrieben von everflux am Mai 16th, 2010

Wenn seit dem Update auf Ubuntu Lucid 10.04 USB Geräte nicht mehr funktionieren, bzw. externe USB Festplatten und Laufwerke nicht mehr automatisch gefunden werden unter Ubuntu Lucid, dann kann folgendes eine Lösung sein:

Unter Ubuntu Linux 10.04 gibt es ein Problem mit dem automatischen Einbinden von USB Sticks und anderen externen USB Speichern. Das USB Problem wird dabei durch eine BIOS Einstellung ausgelöst, so dass USB Geräte nicht mehr automatisch unter dem aktuellen Ubuntu Lucid eingebunden werden. Stellt man im BIOS den „Legacy Floppy Support“ auf „disabled“, so funktionieren nach einem Neustart des Linux Systems auch alle USB Geräte wieder wie gewohnt und werden gefunden.

Ubuntu Lucid Virtualbox: VERR_SUPDRV_COMPONENT_NOT_FOUND

Geschrieben von everflux am Mai 3rd, 2010

Wenn nach dem Update auf Ubuntu Lucid SunVirtualBox (bzw. Oracle VirtualBox) nicht mehr korrekt startet, so fehlt vermutlich das richtige Kernel Modul. (Das sollte per dkms eigentlich erstellt und automatisch gepflegt werden, aber sowas kann schonmal schief gehen.)

Die Fehlermeldung bei mir war VERR_SUPDRV_COMPONENT_NOT_FOUND – und ein modprobe auf vboxnetflt hat in der Tat gemeldete, dass kein entsprechendes Modul vorhanden sei.

Und Abhilfe damit VirtualBox auch mit Ubuntu Lucid wieder startet gibt es auch: sudo /etc/init.d/vboxdrv setup
(Bitte machen, ohne dass VirtualBox bzw. die GUI gestartet ist.) Danach kann man einfach VirtualBox wie gewohnt starten. (Hinweis: Ich nutze dabei nicht die OpenSource VirtualBox Version von Ubuntu/Canonical, sondern die Repos von virtualbox.org – evtl. gibt es hier kleinere Unterschiede.)

Joey’s Pizza: Epic FAIL

Geschrieben von everflux am Mai 1st, 2010

Joeys ist war mein Lieblings-Pizza-Lieferdienst ™. Die Qualität der Pizzen war gut, wenn auch die Lieferzeit und die Ausführung von Extras (Pizza schneiden, Pizza Chilis, Extra Knoblauch) sehr Zufallsgetrieben oder Tagesform abhängig zu sein schien.

Doch was mir dann passierte ist unglaublich. Ich verstehe bis heute nicht, wie so massives Versagen in mehreren Stufen möglich ist. (Wen das Thema menschliches Versagen interessiert, findet in Human Error, (Reason 1990) sehr anschauliche Theorien, alternativ tut es auch die Wikipedia: Human reliability). In der Luftfahrt wird einiges dafür getan, dass kein „Kettenversagen“ wie in meinen Augen in diesem Fall bei Joeys Pizza vorliegend, stattfindet.

Dazu werden die zugrundeliegenden Prozesse optimiert, und die beteiligten Personen entsprechend „enabled“ mit ungeplanten Situationen umzugehen. Auch Joeys, wie vermutlich alle Franchise Geber,  hat seine Prozesse definiert und ist nach ISO zertifiziert.
Genug der Vorgeschichte, um mir doppelte Arbeit zu sparen und einen transparenten Einblick zu ermöglichen zitiere ich die E-Mails die ich an Joeys geschickt habe. (Ich habe dazu den von Joeys Pizza definierten Ansprechpartner telefonisch ermittelt – in der Hoffnung unnötige Umwege zu vermeiden.) Weiterlesen »


http://everflux.de/
Copyright © 2007, 2008 everflux. Alle Rechte vorbehalten. All rights reserved.