Java

Appcelerator Titanium Studio: Lokalisierung mittels Java-Properties-Dateien

Die erste Version unse­rer Communote App ent­wi­ckel­ten wir noch mit Rhodes. Die ent­stan­dene App fühlte sich lei­der nicht so nativ an wie wir uns das wün­schen. Zusätzlich war sie recht feh­ler­an­fäl­lig. Mit der kom­men­den Version set­zen wir auf Titanium von Appcelerator. Für die Bearbeitung von Lokalisierungen setzt Titanium auf ein eige­nes XML-Format. Um zen­tra­li­siert Übersetzungen vor­zu­neh­men ver­wen­den wir aller­dings Pootle,…

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…

ASP.NET security update against #hashDoS attacks

In a pre­sen­ta­tion ("Efficient Denial of Service Attacks on Web Application Platforms", Dec 28th 2011, PDF) at 28th Chaos Communication Congress in Berlin (#28c3) there have been publis­hed details on how to per­form so cal­led "hash col­li­sion attacks" on web­ser­vers. This does not only affect Microsoft tech­no­logy (ASP.NET), but also Java, Python, Ruby, PHP, v8/node.js, … Microsoft has already reac­ted…

ASP.NET Sicherheitsupdate gegen #hashDoS Angriffe

Im Rahmen eines Vortrags ("Efficient Denial of Service Attacks on Web Application Platforms", 28.12.2011, PDF) auf dem 28. Chaos Communication Congress in Berlin (#28c3) wurde eine Möglichkeit vor­ge­stellt, Webserver mit­tels einer soge­nann­ten "hash col­li­sion attack" zu über­las­ten, so dass diese prak­tisch zum Stillstand kom­men. Betroffen ist dabei nicht nur Microsoft-Technologie (ASP.NET), son­dern auch Java, Python, Ruby, PHP, v8/node.js, … Microsoft hat…

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…

Annotaion in Spring 3.0

Annotations erfreuen sich immer grö­ße­rer Beliebtheit. Egal wo man hin­sieht, fast alles kann man mitt­ler­weise damit machen (Caching, Persistenz, dekla­ra­tive Services in OSGi, …). Seit Spring 3.0 gibt es nun auch im Springframework Annotations. Ohne Annotations Als Beispiel soll ein ein­fa­cher HalloWellt-Controller die­nen. Klassen, die bei SpringMVC als Controller-Klassen fun­gie­ren, müs­sen das Interface Controller imple­men­tie­ren oder ein­fach von einer bestehen­den…

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…

EJB Annotationen in Jar Files

Möchte man in grö­ße­ren Projekten gemein­sam genutzte EJB-Klassen wie z.B.  all­ge­meine Exceptions oder Basisklassen für Entities in sepa­rate Libraries aus­la­gern muss man beach­ten, dass die EJB-Annotationen in den Jar Dateien vom ver­wen­de­ten EJB-Container unter Umständen nicht beach­tet wer­den. Abhilfe schafft hier das manu­elle Registrieren der Exceptions oder Entitäten aus dem Jar-File in den XML-Konfigurationen (ejb-jar.xml, persistence.xml) der jewei­li­gen ejb-jar. Beispiel…

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 –…

JUG Saxony – Extreme Lightweight Architectures

Die nun­mehr Achte Veranstaltung der Java User Group Saxony stand am 10.9.2009 unter dem Motto EJB 3.1. Wir konn­ten gemein­sam mit unse­ren Sponsoren (unser Dank gilt der planConnect GmbH und der Communardo Software GmbH) Adam Bien mit sei­nem Vortrag „Extreme Lightweight Architectures (XLAs :-)) mit Java EE 6 und ins­be­son­dere EJB 3.1“ für die JUG gewin­nen. Knapp 100 Besucher waren…

Detail Formater – besser debuggen 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…

JCA Release 1.5

Durch JCA (J2EE Connection Architekture) kön­nen externe Systeme, wie z.B. Enterprise Information Syteme, an einen J2EE Application Server ange­bun­den wer­den. JCA bie­tet ein fle­xi­bles Framework an, wel­ches es erlaubt, unter­schied­li­che Kommunikationswege, wie z.B. Message Queueing oder Files anzu­bin­den. Bei der Kommunikation mit exter­nen Systemen wird zwi­schen der Inbound- und Outbound-Kommunikation unter­schie­den. In dem fol­gen­den Beispiel soll eine Inbound-Kommunikation zwi­schen einem…

Veranstaltungen 2009 im Bereich Java, Dot.NET und Wissensmanagement

Da im neuen Jahr 2009 bereits ein Monat ver­gan­gen ist, wurde es Zeit für eine kleine Recherche zu Konferenzen und Veranstaltungen, die in die­sem Jahr zu Technologien wie Java und Dot.NET bzw. zu Themen im Bereich web 2.0 und Wissensmanagement ange­bo­ten wer­den. Januar: Microblogging. Conference. Hamburg 23. und 24.01.2009  Hamburg http://www.mbc09.de/ OOP München Soft(ware) Skills: The key to suc­cess­ful pro­jects 26. –…

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…

1 2 3