Blog Archives

Hadoop stream processing

Apache Storm Spark Apache Samza Apache Flink Apache Apex Developer Hortonworks (Twitter) Databricks  LinkedIn dataArtisans DataTorrent Computation model Storm – streaming Trident – micro-batching Micro-batching Streaming Streaming or batching Streaming with time boundaries API Storm – programmatic Trident – declarative

Veröffentlicht in Allgemein, BigData, Java, Messaging

Java Hibernate + Oracle. Performance optimization.

Man kann grundsätzlich auf 3 verschiedenen Ebenen das Programm optimieren: Datenmodell Ebene Oracle Tuning (Indexes, Hints, Partitioning, Hardware und Betriebssystem Optimierung) Hibernate Tuning (fetch mode, caching, programm logic) Das Tuning auf dem Datenmodell Ebene ist eher unwahrscheinlich, wird meistens nur

Veröffentlicht in Java

Restore failed Oracle JMS queue messages

Wiederherstellung von durchgefallenen JMS Nachrichten Angenommen wir haben eine Oracle JMS Queue mit dem Namen „QUEUE_NAME“ und eine JMS Queue Tabelle „QUEUE_TABLE_NAME“, beim Erstellen von Queue hat Oracle automatisch eine Exception Queue angelegt mit dem Namen „AQ$_QUEUE_NAME_E“ (und Exception Queue

Veröffentlicht in Java, Oracle

Oracle JMS performance optimization

Oracle JMS verwendet polling (bei default 1 SQL Abfrage pro Sekunde) um neue Nachrichten in der Queue zu finden… Dabei werden zwei system View’s abgefragt ALL_QUEUES und ALL_QUEUE_TABLES (sucht nach Queue Name und Queue Tabelle, die in JMS Konfiguration definiert

Veröffentlicht in Java, Oracle

Oracle Date <-> Java milliseconds conversion

Die Umrechnungsformel wird relative oft benötigt in Java projekten (Quartz Tabellen im Oracle zum Beispiel). Die Formeln ist nicht sehr genau, berücksichtigt die Zeitzonen nicht, für meisten Fälle ist aber ausreichend… Date -> Milliseconds select to_number(sysdate – to_date(’01-JAN-1970′,’DD-MON-YYYY‘)) * (24

Veröffentlicht in Java, Oracle

Oracle JMS Queue Tables

Kurze beschreibung von Oracle Advanced Queue Tabellen (Benutzt für JMS) Column Type Value Q_NAME VARCHAR2(30) Der Name von Queue, wo sich das Message befindet (mehr als ein Queue kann die gleiche Queue Tabelle benutzen, zum Beispiel Exception Queues „AQ$_QUEUE_NAME“) MSGID

Veröffentlicht in Java, Oracle

Log4j Additivity flag

Ich müsste meinen Bekannten ein Paar Mal die Funktionalität vom „Additivity“ Flag im Log4J erklären. Um mir das in der Zukunft zu ersparen, habe ich diese Kleine Anleitung zum Additivity Flag erstellt. Es wird ein kleines Java Projekt benötigt, mit

Veröffentlicht in Allgemein, Java

JMS mit Spring und Oracle Advanced Queuing

In jedem Software Projekt, in dem Oracle Datenbank und Spring Framework zusammen verwendet werden, kann mit Hilfe von „Oracle Advanced Queueing“ auf einfache Art und Weise ein fast vollständiger JMS-Service aufgebaut werden. Diese Funktionalität ist in Oracle Datenbank „Out-of-the-Box“ vorhanden

Veröffentlicht in Allgemein, Java, Oracle

Hibernate/Oracle und hierarchische denormalizierte daten

Hibernate und Oracle sind die Platzhirsche in jeweils eigenen Produktnischen. Bei der Verwendung von diesen beiden Produkten können Problemen gelöst werden, für die Hibernate eigentlich nicht gedacht wurde, zum Beispiel – Umgang mit denormalizierten Tabellen. Ich habe 3 Möglichkeiten gefunden

Veröffentlicht in Allgemein, Java, Oracle

Java intern() Speicheroptimierung

In Java, um den Speicherverbrauch zu reduzieren, werden konstante Strings durch String-Internierung zu den gleichen Objekten gemacht. Konstante Strings sind Klassenamen, Objektnamen und weitere String Objekte, die zur Laufzeit von Virtual Machine oder im Programm verwendet werden. Beispiel: String s

Veröffentlicht in Java