Wie am Wochenende auf Heise.de zu lesen war, wurde eine positive Schaltsekunde eingeschoben, um einer Verschiebung zwischen Uhrzeit und Tagesverlauf entgegenzuwirken. Genau diese Sekunde führt auf Linuxsystemen zu Problemen. Die Auswirkungen sind: extrem hohe CPU-Last Anwendungen können nich mehr erreicht werden Server können nicht mehr erreicht werden Um dieses Problem zu beheben, gibt es zwei Lösungen. Die erste Lösung ist…
Java
Mit dem Ende Februar veröffentlichten BouncyCastle 1.46 wurden die APIs für die Ver- und Entschlüsselung von Nachrichten nach dem S/MIME-Standard teils stark verändert. Dies erhöht auf der einen Seite die Flexibilität, erfordert aber auf der anderen Seite eine Umstellung von bestehendem Code, wenn dieser nicht mehr die nun als "deprecated" gekennzeichneten APIs nutzen soll.
Nicht selten kommt es vor, dass Speicherprobleme erst im Wirkbetrieb auftreten. Die Gründe dafür sind oft, dass das System nicht ausreichend oder gar nicht unter realen Lastbedingungen getestet wurde. Bei Systemen mit redaktionellen Inhalten (z. B. Content Management Systeme) ergibt sich aus der steigenden Anzahl der Inhalte in Verbindung mit Abhängigkeiten und Caching eine wachsende Belastung. In der Testphase sind…
Java-Applikationen zurück in den Sandkasten
Die Security von Anwendungen nimmt einen immer stärkeren Stellenwert in der Softwareentwicklung ein. Neben der Absicherung des Betriebssystems (Principle of least privilege) und der Netzinfrastruktur (Firewalls und N-Tier-Architekturen) kann man auch die Anwendung selber absichern.
Am 09. Dezember 2010 ist es mal wieder soweit und die Java User Group Saxony präsentiert sich erneut mit einem spannenden Thema an der TU Dresden. Dirk Mahler von der buschmais GbR wird etwas über das Web Profile von Java EE 6 erzählen. Dazu ist jeder Interessierte herzlich eingeladen, eine Anmeldung über Amiando ist allerdings wünschenswert. Inhalt des Vortrags In…
Am 15.04.2010 19:00 Uhr findet die nächste Veranstaltung der JUG Saxony im Raum E023 der Fakultät Informatik der TU Dresden statt.
Im Rahmen eines Projektes sollten XML Mockup Dateien in einer Datenbank gehalten und über eine Webservice-Schnittstelle ausgelesen werden. Für gewöhnlich habe ich aus der XSD per JAXB Java Klassen generiert und in Entity Beans gemappt, die anschließend in die Datenbank geschrieben werden. Um dieses, aus meiner Sicht recht aufwendige und fehleranfällige Mapping in die Entity Beans zu umgehen, habe ich…
Asynchrone Prozesse werden sehr häufig in Enterprise Applikationen eingesetzt um Abläufe zu beschleunigen. Um diese mit EJB 3.0 zu realisieren kam man um den Einsatz von Message Driven Beans und JMS nicht herum, da diese die einzige Möglichkeit darstellten asynchrone Aufrufe zu realisieren. Mit der Einführung von EJB 3.1 und der neuen Annotation @Asynchronous wird es nun möglich, Methoden direkt…
Unser Teamoffsite in Eschdorf am 13.11.09 war unter Anderem dem Thema gpars (http://gpars.codehaus.org/) gewidmet, ein Groovy-Framework, welches es erlaubt, parallele Software zu entwickeln, ohne dabei die Komplexität der dafür vorgesehenen Java-Mechanismen kennen zu müssen. Folgende Konzepte werden von gpars unterstützt: - Aktoren (auch verteilte) - Datenflussoperatoren - Sicherungen für veränderliche Objekte (Safe) sowie - nebenläufige Operationen auf Collections und -…
Wer kennt das nicht? Man debuggt sich Zeile für Zeile durch den Code um Fehler in komplexen Algorithmen zu finden. Das Auslesen von primitiven Datentypen oder Strings klappt ziemlich gut. Wenig hilfreich ist allerdings die Darstellung von Kalenderobjekten. Mit Hilfe der in Eclipse angebotenen DetailFormater lassen sich Objekte im Debug-Modus beliebig formatieren. Für ein Objekt vom Typ "java.util.GregorianCalendar" könnte die…
Die Confluence API bietet über das Bandana-Framework eine einfache Möglichkeit zum Speichern beliebiger Java Objekte an. Im Prinzip muss man zu dem Objekt nur einen einen Kontext (bezieht sich auf einen bestimmten Confluence Space oder ist global) und einen bezüglich dieses Kontextes eindeutigen Key angeben und der BandanaManager kümmert sich um den Rest. Der Vorteil liegt auf der Hand: Man…
Für die Entwicklung von Plugins bietet Confluence die Möglichkeit, die standardmäßig im System vorhandenen Actions (z.B. die ViewPageAction und die EditPageAction) mit eigenen Action-Klassen zu erweitern bzw. bestehende Klassen zu ersetzen. Auf diese Weise kann eine Vielzahl der Standardfunktionen auf individuelle Bedürfnisse angepasst sowie neue Funktionalität implementiert werden. Die in Confluence verwendeten Actions sind in Packages organisiert und werden in…
Confluence unterstützt standardmäßig keine Authentikation über Single Sign-On Dienste. Im Folgenden soll kurz beschrieben werden wie dies dennoch erreicht werden kann. Für jeden Seitenaufruf im Confluence-Wiki wird der aufrufende Nutzer benötigt. Um diesen zu ermitteln werden verschiedene Quellen abgefragt (Cookies, Session, …). Erst wenn auf diese Weise kein angemeldeter Nutzer festgestellt werden kann, wird die Login-Seite angezeigt. Der vollständige Ablauf…
Am 13./14.9.2008 fand erstmals die Berlin.jar an der FHTW Berlin statt. Die Java Konferenz wurde durch die Java User Group Berlin Brandenburg sehr gut organisiert. Verteilt über beide Konferenztage gab es in fünf parallelen Tracks zahlreiche interessante Vorträge, sowie HandsOn Sessions und Workshops für die mehr als 250 Besucher. Einige Redner sind bereits von anderen Konferenzen bekannt. So gab Eberhard…
So ein SequenceGenerator ist schon eine feine Sache, vorallem bei der Verwendung von Relationalen Datenbanksystemen á la Oracle. Musste man sich ohne die Vorzüge des ORM (Object-Relational-Mapping) noch mit der händischen Erstellung von Sequenzen zur Incrementierung von Werten herumschlagen, erledigt Hibernate das Ganze voll automatisch mit zwei Zeilen Code. Die Tücken der Technik In meinem letzten Projekt zeigte sich jedoch ein…
Auch die zweite Veranstaltung der Java User Group Saxony kann als voller Erfolg bezeichnet werden. Shaun Smith, Project Lead des EclipseLink Projektes und Produktmanager für Oracle TopLink, gab am 09.07.2008 einen Überblick über die Features und die Funktionsweise von EclipseLink. Die Firma ubigrate hat diese Veranstaltung an der Informatik Fakultät der TU-Dresden in Zusammenarbeit mit dem JUG Saxony Team für…
Wer sich als Java-Entwickler bereits ein wenig mit der Sprache Groovy beschäftigt hat, wird während der Projektarbeit sicher schon einige Verwendungsmöglichkeiten für Groovy-Sprachkonstrukte gefunden haben. In den meisten Fällen betrifft dies eher relativ triviale Funktionen, wie Operationen im Dateisystem oder das Auswerten von Variablen eines Typs. Da aber gerade in der Erstellung von Prototypen die Evaluierung von Kernprozessen im Vordergrund…
Am 03. April 2008 fand das erste Treffen und damit die Gründungsveranstaltung der Java User Group Saxony in den Räumen der Communardo Software GmbH statt. Diese Gruppe wurde auf Initiative von Torsten Rentsch (Communardo Software GmbH) und Falk Hartmann (ubigrate) Anfang 2008 ins Leben gerufen. Ziel ist es den Wissensaustausch im Java Umfeld zu fördern sowie Kontakte zwischen Firmen und…
Dieser Artikel soll einen Überblick über das Session Objekt in Grails geben und Lösungsmöglichkeiten bei Anwendungsfehlern aufzeigen. Die allgegenwärtige Session In allen Controllern ist die Session bereits standardmäßig im Application-Scope und wartet gebrauchsfertig mit dem Namen "session" auf Verwendung. Das Objekt implementiert im wesentlichen die Standardfunktionalität der javax.servlet.HttpSession und hält ergänzend die Zugriffsmöglichkeiten einer GroovyMap bereit. session.username = 'John Doe' println session["username"]…
Für gezielte Datenbankexporte oder -views möchte man oft eine Zeile für einen Eintrag in der SQL Abfrage erhalten. Beim Verknüpfen von mehreren Tabellen führt dies bei 1:n oder n:m Beziehungen zu dem Nachteil, dass für die Basistabelle mehrere Zeilen entstehen. Zur Verdeutlichung sei folgendes Beispiel (in PostgreSQL) gegeben: create table account ( ID BIGINT not null, EMAIL CHARACTER VARYING(1024) not…