Archiv für die Kategorie „Software“

Hibernate mit c3p0 nutzen

Donnerstag, 9. April 2009

Hibernate ICONHibernate ist eine Java-Bibliothek die zum object-relational-mapping genutzt wird. Ich benutze diese Bibliothek in einem kleinen Java-Projekt mit einer MySQL-Verbindung zum Server eines Webhosters. Bis vor einigen Wochen bin ich damit ganz gut durch gekommen. Dann wurde das Webhosting zu einem anderen Provider verlegt und ich bekam ständig Fehlermeldungen weil die Verbindung zum Server zusammenbrach.

Wie sich herausstellte ist beim neuen Provider der MySQL-Server anders konfiguriert, der Wert “wait_timeout” ist hier auf 120 Sekunden gestellt. Sobald meine Hibernate-Verbindung also länger als 2 Minuten keine Aktion ausführt, wird die Verbindung abgebrochen und eine Exception geworfen. Wie kann man das nun am elegantesten verhindern?

Es gibt einen sehr einfachen Weg dieses Problem zu umgehen, dazu wird die c3p0-Biblithek genutzt die Hibernate praktischerweise gleich in die eigene JAR integriert hat. c3p0 dient dazu einen sogenannten Connection-Pool zu erstellen. Dieser Connection-Pool soll uns aber gar nicht weiter interessieren, wer mehr zu den Vorzügen eines Connection-Pools erfahren möchte kann dies hier tun.

Um c3p0 einzubinden können folgende beispielhafte Zeilen in der hypernate.cfg.xml ergänzt werden:

<property name="c3p0.min_size">5</property>
<property name="c3p0.max_size">20</property>
<property name="c3p0.timeout">1800</property>
<property name="c3p0.max_statements">50</property>

Der Vorteil von c3p0 liegt darin, dass es vor der nächsten Aktion einen Überprüfung der Verbindung durchführen kann. Dazu kann man die Konfigurationsvariable “testConnectionOnCheckout” auf “true” setzen.

<property name="c3p0.testConnectionOnCheckout">
    true
</property>

Diese Konfiguration ist allerdings sehr “teuer” da vor jeder Transaktion die Verbindung getestet wird. Deshalb wird empfohlen statt dessen “idleConnectionTestPeriod” zu nutzen, welches einen Verbindungstest nach x-Sekunden durchführt. Erweiterte Einstellungen sind mit “preferredTestQuery” und “automaticTestTable” möglich.

Da ich keine hochperformante Verbindung benötige hab ich mich vorerst nur für die testConnectionOnCheckout-Variante entschieden. Damit klappt es bis jetzt bestens.



Die RSS-Feed-URL hat sich geändert

Sonntag, 29. März 2009

Hallo,
allen denen die meinen Blog via RSS abrufen sei gesagt, dass sich die Adresse des RSS-Feeds geändert hat. Die neue Adresse lautet:

http://www.totalmedial.de/feed/

Bis auf einen Hinweistext werden auf der alten Adresse keine neuen Artikel erscheinen.

Alle die, die diesen Blog bisher noch nicht via RSS abrufen oder sich generell nicht an diese Technologie herantrauen, sei gesagt: RSS ist einfach, probiert es aus. RSS dient dazu Internetseiten auf Neuigkeiten zu überprüfen. Wird beispielsweise auf Totalmedial ein neuer Eintrag geschrieben wird dies jedem RSS-Abonnenten in seinem RSS-Programm angezeigt. Das spart dem Seitenbesucher natürlich enorm Zeit weil er nicht alle interessanten Seiten regelmäßig ansurfen muss, um zu erfahren ob es etwas Neues gibt.

so wird ein RSS-Feed im Firefox angezeigt

so wird ein RSS-Feed im Firefox gekennzeichnet

Alle aktuellen Browser unterstützen das abonnieren von RSS-Feeds. In der Regel wird das Vorhandensein eines RSS-Feed durch ein kleines orangenes Icon in der Adresszeile gekennzeichnet. Drückt man da drauf wird der Feed geöffnet und dargestellt. Danach kann man sich entscheiden ob man ihn abonniert. Beim Abonnieren wird die Adresse des Feed in einem RSS-Programm gespeichert. Das kann der Browser sein, das E-Mailprogramm oder ein Dienst wie Google-Reader.

Hier gleich noch die Anleitungen für Thunderbird zum Einrichten eines RSS-Kontos und abonnieren eines RSS-Feeds.



goo(d) game

Samstag, 7. März 2009

Vor kurzem bin ich über ein kleines feines Spiel gestolpert, das ich dem geneigten Leser nicht vorenthalten möchte.

Bei “World of Goo” ist es die Aufgabe des Spielers aus kleinen wobbelnden Glitschebällen eine tragfähige Konstruktion zu bauen und damit ein Rohr zu erreichen. Dazu nimmt man sich einen Ball und positioniert ihn nicht zu weit vom bisherigen Gerüst entfernt. Schon ist ein neuer Abschnitt errichtet. Das Spiel ist im Comic-Stil angelegt und kommt alles in allem sehr organisch rüber. Die Grafik ist spritzig und der Sound passt excellent. Seit langem mal wieder ein Spiel, bei dem man die Liebe der Entwickler zum Detail und ihrer Arbeit spürt.

world-of-gooIch hab das Spiel in der Demo angespielt, die circa 10 Aufgaben umfasst. Absolut empfehlenswert. Die Vollversion kostet derzeit etwa 20 Euro. Ich werd wohl noch ein paar Monate warten bis der Preis auf 10 Euro gefallen ist und dann zuschlagen.



Adventsleckerbissen (4)

Sonntag, 21. Dezember 2008

Im letzten Teil der Adventsleckerbissen-Reihe möchte ich ein weiteres Programm vorstellen das sich mit dem Thema Sicherheit befasst.

Safey” ist eine Art Datentresor. Es ist ein einzelne EXE-Datei mit 5MB Größe. Beim ersten Öffnen legt man ein Passwort für den Tresor an, der dann bei jedem Öffnen abgefragt wird. Zur Eingabe des Passwortes stehen auch Zahlenfelder zum Anklicken zur Verfügung, ein wirksamer Schutz gegen Trojaner die Passwörter über die Tastatur mitlesen. Ist der Tresor einmal geöffnet kann man in ihm Dokumente ablegen (bis 5MB), Daten speichern und sichere Passwörter generieren lassen.

Das schöne an dem Programm ist: man kann es überall mit hinnehmen. Es braucht keine Installation, man kann die EXE-Datei einfach auf einen USB-Stick ziehen und hat so immer alles dabei. Eine kleine Besonderheit haben sich die Entwickler auch noch ausgedacht: im Hintergrund des Programmes wächst eine Pflanze, nach jedem Öffnen ist sie etwas größer geworden.

Zum Anbieter des Programmes. Produktvideo ansehen.

HINWEIS:

Safey ist einfach zu bedienen und verbindet viele gute Sicherheitskonzepte, trotzdem sollte man sich darüber im Klaren sein, das jedes Programm Schwachstellen und Fehler hat. Es kann nie eine 100% Sicherheit der Daten garantiert werden. In der Softwareentwicklung (und wahrscheinlich auch überall sonst) gelten Daten dann als sicher wenn der Aufwand sie zu beschaffen größer ist als der Gewinn der durch sie erzielt werden kann. Der in Safey verwendete Verschlüsslungsalgorithmus gilt derzeit als sicher.

Schon gewusst?

Auch der Firefox besitzt einen integrierten Datentresor für gespeicherte Passwörter. Der Browser kann Zugangsdaten zu Webseiten abspeichern. Damit die Zugangsdaten vor fremden Zugriff geschützt werden, lässt sich zusätzlich ein “Masterpasswort” vergeben. Alle Zugangsdaten werden dann mit diesem Passwort verschlüsselt. Hier gibt es mehr Informationen.

So, das wars mit den Adventsleckerbissen, ich hoffe es hat gut “geschmeckt”. Vielleicht gibt es nächstes Jahr wieder ein paar Häppchen.



Adventsleckerbissen (3)

Sonntag, 14. Dezember 2008

Teil 3 meines Advents-Reihe. Diese Woche mit einem kleinen Programm, dass das digitale Surfvergnügen doch erheblich steigern kann. Die Rede ist vom “Adblock Plus”-Plugin für den Firefox (ähnliche Plugins sind, mit etwas Suchen auch für andere Browser zu finden).

Ist Adblock Plus im Firefox als Plugin installiert wird jede Seite vor dem Seitenaufbau nach Werbeinhalten durchsucht. Diese Werbeinhalte werden dann ausgeblendet bzw. gar nicht erst geladen. Das bringt zwei Vorteile: erstens werden nur die relevanten Inhalte der Seite angezeigt, so dass man nicht durch unnötige Informationen erschlagen wird. Zweitens werden Werbebanner gar nicht erst geladen, was natürlich den Seitenaufbau beschleunigt. Durch Klicken auf das Adblock Plus Symbol lässt sich anzeigen, wie viele und welche Inhalte geblockt wurden.

Hier der direkte Vergleicher zweier Internetseite jeweils mit und ohne Adblock Plus.

Download-Link: Adblock Plus-Plugin für Firefox