Java

Schaltsekunde macht Probleme in Java Anwendungen

Wie am Wochenende auf Heise.de zu lesen war, wurde eine posi­tive Schaltsekunde ein­ge­scho­ben, um einer Verschiebung zwi­schen Uhrzeit und Tagesverlauf ent­ge­gen­zu­wir­ken. Genau diese Sekunde führt auf Linuxsystemen zu Problemen. Die Auswirkungen sind: extrem hohe CPU-Last Anwendungen kön­nen nich mehr erreicht wer­den Server kön­nen nicht mehr erreicht wer­den Um die­ses Problem zu behe­ben, gibt es zwei Lösungen. Die erste Lösung ist…

S/MIME mit BouncyCastle 1.46

Mit dem Ende Februar ver­öf­fent­lich­ten BouncyCastle 1.46 wur­den die APIs für die Ver- und Entschlüsselung von Nachrichten nach dem S/MIME-Standard teils stark ver­än­dert. Dies erhöht auf der einen Seite die Flexibilität, erfor­dert aber auf der ande­ren Seite eine Umstellung von bestehen­dem Code, wenn die­ser nicht mehr die nun als "depre­ca­ted" gekenn­zeich­ne­ten APIs nut­zen soll.

Was tun bei OutOfMemory – Teil 2: Analyse

Nicht sel­ten kommt es vor, dass Speicherprobleme erst im Wirkbetrieb auf­tre­ten. Die Gründe dafür sind oft, dass das System nicht aus­rei­chend oder gar nicht unter rea­len Lastbedingungen getes­tet wurde. Bei Systemen mit redak­tio­nel­len Inhalten (z. B. Content Management Systeme) ergibt sich aus der stei­gen­den Anzahl der Inhalte in Verbindung mit Abhängigkeiten und Caching  eine wach­sende Belastung. In der Testphase sind…

JUG Saxony: Java EE 6 Web Profile: Essentials

Am 09. Dezember 2010 ist es mal wie­der soweit und die Java User Group Saxony prä­sen­tiert sich erneut mit einem span­nen­den Thema an der TU Dresden. Dirk Mahler von der buschmais GbR wird etwas über das Web Profile von Java EE 6 erzäh­len. Dazu ist jeder Interessierte herz­lich ein­ge­la­den, eine Anmeldung über Amiando ist aller­dings wün­schens­wert. Inhalt des Vortrags In…

HyperJAXB3

Im Rahmen eines Projektes soll­ten XML Mockup Dateien in einer Datenbank gehal­ten und über eine Webservice-Schnittstelle aus­ge­le­sen wer­den. Für gewöhn­lich habe ich aus der XSD per JAXB Java Klassen gene­riert und in Entity Beans gemappt, die anschlie­ßend in die Datenbank geschrie­ben wer­den. Um die­ses, aus mei­ner Sicht recht auf­wen­dige und feh­ler­an­fäl­lige Mapping in die Entity Beans zu umge­hen, habe ich…

Asynchrone Methoden mit EJB 3.1

Asynchrone Prozesse wer­den sehr häu­fig in Enterprise Applikationen ein­ge­setzt um Abläufe zu beschleu­ni­gen. Um diese mit EJB 3.0 zu rea­li­sie­ren kam man um den Einsatz von Message Driven Beans und JMS nicht herum, da diese die ein­zige Möglichkeit dar­stell­ten asyn­chrone Aufrufe zu rea­li­sie­ren. Mit der Einführung von EJB 3.1 und der neuen Annotation @Asynchronous wird es nun mög­lich, Methoden direkt…

Parallelität mit gpars

Unser Teamoffsite in Eschdorf am 13.11.09 war unter Anderem dem Thema gpars (http://gpars.codehaus.org/) gewid­met, ein Groovy-Framework, wel­ches es erlaubt, par­al­lele Software zu ent­wi­ckeln, ohne dabei die Komplexität der dafür vor­ge­se­he­nen Java-Mechanismen ken­nen zu müs­sen. Folgende Konzepte wer­den von gpars unter­stützt: – Aktoren (auch ver­teilte) – Datenflussoperatoren – Sicherungen für ver­än­der­li­che Objekte (Safe) sowie – neben­läu­fige Operationen auf Collections und –…

Detail Formater – bes­ser debug­gen in Eclipse

Wer kennt das nicht? Man debuggt  sich Zeile für Zeile durch den Code um Fehler in kom­ple­xen Algorithmen zu fin­den. Das Auslesen von pri­mi­ti­ven Datentypen oder Strings klappt ziem­lich gut. Wenig hilf­reich ist aller­dings die Darstellung von Kalenderobjekten. Mit Hilfe der in Eclipse ange­bo­te­nen DetailFormater las­sen sich Objekte im Debug-Modus belie­big for­ma­tie­ren. Für ein Objekt vom Typ "java.util.GregorianCalendar" könnte die…

Confluence Persistenz mit Bandana – Fallstricke

Die Confluence API bie­tet über das Bandana-Framework eine ein­fa­che Möglichkeit zum Speichern belie­bi­ger Java Objekte an. Im Prinzip muss man zu dem Objekt nur einen einen Kontext (bezieht sich auf einen bestimm­ten Confluence Space oder ist glo­bal) und einen bezüg­lich die­ses Kontextes ein­deu­ti­gen Key ange­ben und der BandanaManager küm­mert sich um den Rest. Der Vorteil liegt auf der Hand: Man…

Erweitern von Actions in Confluence

Für die Entwicklung von Plugins bie­tet Confluence die Möglichkeit, die stan­dard­mä­ßig im System vor­han­de­nen Actions (z.B. die ViewPageAction und die EditPageAction) mit eige­nen Action-Klassen zu erwei­tern bzw. bestehende Klassen zu erset­zen. Auf diese Weise kann eine Vielzahl der Standardfunktionen auf indi­vi­du­elle Bedürfnisse ange­passt sowie neue Funktionalität imple­men­tiert wer­den. Die in Confluence ver­wen­de­ten Actions sind in Packages orga­ni­siert und wer­den in…

Single Sign-On für Confluence

Confluence unter­stützt stan­dard­mä­ßig keine Authentikation über Single Sign-On Dienste. Im Folgenden soll kurz beschrie­ben wer­den wie dies den­noch erreicht wer­den kann. Für jeden Seitenaufruf im Confluence-Wiki wird der auf­ru­fende Nutzer benö­tigt. Um die­sen zu ermit­teln wer­den ver­schie­dene Quellen abge­fragt (Cookies, Session, …). Erst wenn auf diese Weise kein ange­mel­de­ter Nutzer fest­ge­stellt wer­den kann, wird die Login-Seite ange­zeigt. Der voll­stän­dige Ablauf…

Berlin.jar – Rückblick

Am 13./14.9.2008 fand erst­mals die Berlin.jar an der FHTW Berlin statt. Die Java Konferenz wurde durch die Java User Group Berlin Brandenburg sehr gut orga­ni­siert. Verteilt über beide Konferenztage gab es in fünf par­al­le­len Tracks zahl­rei­che inter­es­sante Vorträge, sowie HandsOn Sessions und Workshops für die mehr als 250 Besucher. Einige Redner sind bereits von ande­ren Konferenzen bekannt. So gab Eberhard…

Hibernate: Sprünge beim Autoincrement

So ein SequenceGenerator ist schon eine feine Sache, vor­al­lem bei der Verwendung von Relationalen Datenbanksystemen á la Oracle. Musste man sich ohne die Vorzüge des ORM (Object-Relational-Mapping) noch mit der hän­di­schen Erstellung von Sequenzen zur Incrementierung von Werten her­um­schla­gen, erle­digt Hibernate das Ganze voll auto­ma­tisch mit zwei Zeilen Code. Die Tücken der Technik In mei­nem letz­ten Projekt zeigte sich jedoch ein…

JUG Saxony – EclipseLink

Auch die zweite Veranstaltung der Java User Group Saxony kann als vol­ler Erfolg bezeich­net wer­den. 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 ubi­grate hat diese Veranstaltung an der Informatik Fakultät der TU-Dresden in Zusammenarbeit mit dem JUG Saxony Team für…

Java Projekte mit Groovy – Der erste Kontakt…

Wer sich als Java-Entwickler bereits ein wenig mit der Sprache Groovy beschäf­tigt hat, wird wäh­rend der Projektarbeit sicher schon einige Verwendungsmöglichkeiten für Groovy-Sprachkonstrukte gefun­den haben. In den meis­ten Fällen betrifft dies eher rela­tiv tri­viale 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…

Gründung der Java User Group Saxony

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 (ubi­grate) Anfang 2008 ins Leben geru­fen. Ziel ist es den Wissensaustausch im Java Umfeld zu för­dern sowie Kontakte zwi­schen Firmen und…

1 2