Stoppt die Vorratsdatenspeicherung! Jetzt klicken &handeln! Willst du auch an der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien:

Svens Blog

Hibernate Blobs und Input Streams

Nach einigen Tests mit der Blob Unterstützung in Hibernate musste ich leider feststellen, dass sich Hibernate nicht dazu eignet Blobs aus einem InputStream einzulesen, wenn die Gesamtgrösse der einzulesenden Daten nicht bekannt ist und man die Daten nicht alle im Speicher halten will.

Auf das Problem wurde ich aufmerksam als ich feststellte, dass Blobs aus einigen InputStreams nicht korrekt eingelesen wurden. Zum Einsatz kam Hibernate 3.3.2, ein Blick in die Quellen offenbart einen Fehler in dieser Version:

public static Blob createBlob(InputStream stream) throws IOException {
return new SerializableBlob( new BlobImpl( stream, stream.available() ) );
}

Hier wird eine Methode angesprochen, die die Länge der einzulesenden Daten erwartet. Fälschlicherweise wird hier .available() des Streams verwendet. Dieser Wert gibt allerdings nur die Anzahl an Bytes zurück, die garantiert gelesen werden können, bevor der Stream das nächste Mal blockiert. Der Wert hat also keine Aussagekraft bzgl. der Gesamtgrösse der Daten des Streams.

http://java.sun.com/javase/6/docs/api/java/io/InputStream.html#available%28%29

Der Fehler ist bekannt:

http://opensource.atlassian.com/projects/hibernate/browse/HHH-4095?page=com.atlassian.jirafisheyeplugin:fisheye-issuepanel

In den aktuellen Versionen von Hibernate wurde dieser Fehler behoben, allerdings wird jetzt der ganze Stream in einen Puffer gezogen, damit Hibernate die Gesamtgröße kennt:

public static Blob createBlob(InputStream stream) throws IOException {
ByteArrayOutputStream buffer = new ByteArrayOutputStream( stream.available() );
StreamUtils.copy( stream, buffer );
return createBlob( buffer.toByteArray() );
}

So etwas ist natürlich völlig inakzeptabel, wenn man sauber mit größeren Datenmengen arbeiten will.

Ich werde nun auf die native PostgreSQL Blob API umsteigen, das nimmt mir zwar den Hibernate Komfort, ermöglicht aber mehr Kontrolle über den Speicherverbrauch.

http://www.postgresql.org/files/documentation/books/pghandbuch/html/jdbc-binary-data.html

Eine weitere Alternative wäre es, Daten aus einem InputStream zuerst in eine temporäre Datei zu schrieben, und sie erst anschließend in die Datenbank einzulesen, da dann ja die Gesamtgröße bekannt ist.


Flattr invites

Falls jemand Invites für Flattr sucht:

  • daf59ba0dc0eadf1f
  • ef4f741c36b35d548
  • 2e70c16ebcfc99175
  • 24569c8e647420642
  • f4fd999efcdfada5f
  • 78731c2bb5cebbf36
  • 03b00a9db1f53b189
  • e2c10bf2db2015030

Jeder Code geht natürlich nur einmal.


Über 5000 Atomsprengköpfe in der Hand religiöser Wirrköpfe

Die USA verfügen laut eigener Angaben über 5113 Atomsprengköpfe.

Was soll ich jetzt bedenklicher finden? Das der Iran vielleicht auch an einer solchen Waffe arbeitet? Oder das ein Land voller religiöser Wirrköpfe schon viele tausende davon besitzt? Ein nicht unerheblicher Teil der US Bürger lebt in dem Glauben, dass Jesus in den nächsten Jahren zurück auf die Erde kommen wird, dass das Ende der Welt nahe ist. _DAS_ finde ich bedenklich.


Liebe Musikindustrie

Gut das Ihr in Deutschland mehr Lobbyisten beschäftigt als die schweizer Banken. Wo sich in der Politik ja gerade alles nur darum dreht, ob es legitim ist, eine CD mit Daten über Steuersünder “raubzukopieren” (sogar gegen Bezahlung), kommt die bayrische Justizministerin Beate Merk (CSU) zu der spontanen Erleuchtung:

Zitat: “Da Daten anders als Autos oder Handys keine Sachen sind, kann man sie nicht stehlen.” (Quelle)

Was Frau Merk damit ausdrücken will ist ja klar, das es nicht schlimm ist die Daten anzukaufen, weil es ja keinen Diebstahl gab und es sich damit nicht um Hehlerware handeln soll. Einen Diebstahl gab es wohl wahrscheinlich wirklich nicht, denn wer stiehlt schon Daten physikalisch? Die Daten wurden unrechtmässig vervielfältigt, und damit handelt es sich zwar um keinen Diebstahl, aber um eine Verletzung irgendwelcher Schutzrechte, also z.B. dem Urheberrecht.

Aber schön zu sehen wie Politiker sich rhetorisch alles so drehen wie es gerade gebraucht wird. Mal schauen ob Frau Merk diese Aussage nochmal überdenkt, wenn die Schweizer ihre Drohung wahr machen, alle Konten deutscher Amtsträger in der Schweiz offen zu legen.


Geld spielt keine Rolle

“Geld spielt keine Rolle”, besonders wenn der Steuerzahler zahlt was die Industrie verbockt hat:

http://www.taz.de/1/zukunft/umwelt/artikel/1/126000-faesser-atommuell/


Kostengünstige Atomenergie

Wer es noch nicht gelesen hat, dem sei folgender Artikel ans Herz gelegt:

Das “Versuchsendlager” Asse säuft immer schneller ab

Da laufen jetzt also über 11 Kubikmeter Wasser pro Tag in das Endlager, und irgendwann läuft es auch wieder raus und nimmt das ein oder andere Bisschen Plutonium oder sonstwas mit. Super! Ob es in der Gegend noch CDU Wähler gibt?

Da sieht man mal wieder was passiert wenn die Politik nur aus Handpuppen besteht, die Lobbyistenärme im Arsch stecken haben. Die Energiekonzerne freuen sich über günstige Energie, denn die Entsorgung bezahlt natürlich der Steuerzahler: http://www.heise.de/tp/blogs/2/126666

Vielleicht sollte man solche Dinge mal mit berücksichtigen, wenn man über die Kosten der Atomkraft spricht, aber unsere Volksverräter reden ja lieber den Lobbyisten nach dem Mund, statt mal selbst das Gehirn einzuschalten.


Schockierend

Ich bin gerade über eine ARD Reportage gestolpert:

Jesus junge Garde – Die christliche Rechte und ihre Rekruten

Und ich muss sagen, ich bin immer noch schockiert. Sowas lässt einen den Glauben an jegliche Vernunft des Menschen verlieren. Wenn es solche Leute sind, die in den USA Einfluss auf die Politik nehmen, dann wundert mich überhaupt nichts mehr. Der Anführer würdigt die guten Seiten von Hitler, die Anhänger hoffen, so gläubig zu werden, dass sie für Jesus in den Tod gehen. Solchen Leuten ist es zuzutrauen, dass sie ihre eigenen Häuser sprengen, um dann in fremden Ländern für ihren Glauben zu sterben.

Das es überhaupt Menschen gibt, die in unserer heuten Zeit noch derartig fanatisch sein können, lässt den nächstes Weltkrieg nicht mehr weit entfernt scheinen. Diese Menschen glauben, dass ihr Gott bald auf der Erde erscheinen wird, um das Ende der Welt einzuläuten. Genau das glaubte offenbar auch George Bush, als er die Kriege in Afghanistan und Irak angefangen hat:

“This confrontation is willed by God, who wants to use this conflict to erase his people’s enemies before a New Age begins”.

Daran kann man sich gut vorstellen, was für eine Welt diese Menschen sich wünschen. Offenbar hat ihr Gott vergessen ihnen Hirn zu geben, als sie diese Welt betraten, anders lässt sich solcher krasser Fundamentalismus nicht erklären. So wie diese Menschen reden, kann ich jetzt auch verstehen, wie Selbstmordattentäter in Afghanistan und Irak denken müssen, die sich für ihren Gott in die Luft jagen.

Alles natürlich im Namen der Liebe. Nee is klar!


Bestrafung jetzt auch ohne rechtsgültiges Urteil

Lobbyarbeit macht es offenbar möglich: Der schwedische Staat verlangt jetzt von den Angeklagten im Piratebay Prozess, dass sie die ersten 1,1 Millionen Euro von 2,8 Millionen Schadensersatz sofort bezahlen, obwohl man in Berufung gegangen ist und damit das Urteil eigentlich gar nicht rechtskräftig sein dürfte. Vielleicht ist das ja in Schweden anders.

Fassen wir mal zusammen:

Alles in allem also ein Verfahren das vor Rechtsstaatlichkeit nur so glänzt, in Russland hätte man es wohl nicht anders gemacht.

Und nun verlang man allen Ernstes, dass die Beschuldigten ihre Strafe schon antreten müssen, obwohl das Verfahren noch überhaupt nicht beendet ist? So eine Idee könnte auch von den Amis kommen, mit potentiellen Terroristen macht man das ja schon ausgiebig so, mit dem kleinen Unterschied das es dort überhaupt kein Verfahren gibt.


Moralaposteln? Nein Danke!

Dieser Artikel im Tagesspiegel, gefunden über Lawblog.de, geht neben den schon bekannten Argumenten gegen nutzlose Verbote, auch noch sehr deutlich auf einen weiteren wichtigen Punkt ein. Mit meinen Worten formuliert:

Die Politik hat es nicht zu interessieren, was ich zu meinem Vergnügen tue, so lange ich dabei niemandem direkt schade.

Es ist meine Sache, ob ich auf Privatgelände Spaß daran habe, mit Farbkugeln auf andere Menschen zu schießen, die ebenfalls Spass daran haben. Die Politik hat nicht anhand ihrer persönlichen Moralvorstellungen zu urteilen. Es steht ihr genau so wenig zu mir vorzuschreiben welche Sexpraktiken ich vollziehen darf, welche Bücher ich lesen darf, an welchen Gott (oder auch keinen) ich glauben darf, oder was auch immer. Einziges sinnvolles Kriterium ist und bleibt die Frage, ob das, was ich tue, jemand anderem gegen seinen Willen Schaden zufügt. Und dieser Schaden muss unmittelbar feststellbar sein. Die pauschale populistische Aussage “Paintball produziert Amokläufer” ist genau so schwachsinnig wie “Heavy Metal produziert Amokläufer”, oder “Onanieren macht blind”. Es ist wirklich typisch christliches Missionierungsgehabe, wenn Parteien, wie die mit dem C am Anfang, meinen, sich auf Grund ihrer Moralvorstellungen in unser Privatleben einmischen zu müssen. Es ist ganz alleine meine Sache welche Spiele ich spiele, welche Filme ich gucke und welche Musik ich höre.

Schön, dass es nun immer mehr Medien gibt, die auch sehr kritisch über Zensur- und Verbotsvorhaben berichten. Eine gute Liste dazu findet sich auf Netzpolitik.


Petition gegen Internetsperren

Alle schön mitmachen: https://epetitionen.bundestag.de/index.php?action=petition;sa=details;petition=3860


Powered by WordPress • Theme by: BlogPimp/Appelt MediendesignBeiträge (RSS) und Kommentare (RSS) • Lizenz: Creative Commons BY-NC-SA.

Blogverzeichnis - Blog Verzeichnis bloggerei.de