-
Werkzeuge zur Erhaltung der Softwarearchitektur – Verstehen von Quellcode / QS – Teil 2
Im letzten Post ging es um die allgemeinen Ziele bei der Architekturerhaltung. Zentraler Punkt hierbei ist das Verstehen des Quellcodes. Das Verstehen bzw. das Einarbeiten in Quellcode macht einen Großteil unserer Arbeit als Entwickler aus (sicherlich mehr als 50%). Beim Verstehen setzen wir das „Chunking“ ein. Hierbei fassen wir bewusst oder unbewusst Teilinformationen zu größeren…
-
Monolith vs. Microservices …
… oder warum nicht jeder Monolith geschlachtet werden muss. Seit einiger Zeit ist der Hype ungebrochen, jedes monolithische System schnell zu ersetzen und jede Neuentwicklung als Microservice-Architektur zu realisieren (eventuell nicht jedes aber doch eine Vielzahl). Problem Mensch Aus meiner Sicht ist eines der Hauptprobleme in der Softwareentwicklung, dass nicht Vorhandensein von (geeigneten) Architekturregeln und…
-
Werkzeuge zur Erhaltung der Softwarearchitektur / QS – Teil 1
Nach etwas Pause in diesem Blog werde ich nach und nach einige Posts zum „Thema Werkzeuge zur Architekturerhaltung / QS“ veröffentlichen. In diesem Post geht es um die QS im Rahmen von Java Projekten. Viele Punkte – aber nicht alle Werkzeuge – sind aber auch auf andere Sprachen zu übertragen. Das Einhalten einer Softwarearchitektur stellt…
-
Spooky Exceptions (7) – The tag named inputFile from namespace http://xmlns.jcp.org/jsf/html has a null handler-class defined
Umgebung Situation Es kommt folgende ConfigurationException beim Start des Wildfly: Ursache Es wurde eine JSF Implementierung (jar) mit der Anwendung deployed. Diese stört sich mit der durch WIldfly bereitgestellten. Bei der Verwendung von MyEclipse geschieht dies häufiger, da MyEclipse das JSF jar häufig in den deployment descriptor aufnimmt. Ursache Das Deployment des JSF jar verhindern
-
Spooky Exceptions (6) java.lang.NullPointerException – ….MergeManager.registerObjectForMergeCloneIntoWorkingCopy(MergeManager.java:1054)
Umgebung Situation Es kommt folgende NPE von Eclipselink: 1:10:10,476 INFO [stdout] (default task-32) java.lang.NullPointerException 2017-02-20 11:10:10,485 INFO [stdout] (default task-32) at org.eclipse.persistence.internal.sessions.MergeManager.registerObjectForMergeCloneIntoWorkingCopy( MergeManager.java:1054) ~[eclipselink.jar!/:2.6.4.v20160829-44060b6] 2017-02-20 11:10:10,485 INFO [stdout] (default task-32) at org.eclipse.persistence.internal.sessions.MergeManager.mergeChangesOfCloneIntoWorkingCopy( MergeManager.java:564) ~[eclipselink.jar!/:2.6.4.v20160829-44060b6] 2017-02-20 11:10:10,485 INFO [stdout] (default task-32) at org.eclipse.persistence.internal.sessions.MergeManager.mergeChanges(MergeManager.java:313) Auch dies ist leider wieder eine Meldung, die die eigentlich Ursache verschleiert. Der…
-
Spooky Exceptions (5) Caused by: org.postgresql.util.PSQLException: ERROR: column „date_start“ is of type date but expression is of type character varying
Umgebung Situation Wenn wir versuchen ein abhängiges Objekt über Datenbankattribute vom Typ Date zu referenzieren (mindestens eines), kann dies zu Problemen führen. Wir haben folgende Abhängigkeit @JoinColumns({ @JoinColumn(name = „mandator_id“, referencedColumnName = „mandator_id“, insertable = true, updatable = true), @JoinColumn(name = „date_start“, referencedColumnName = „date_start“, insertable = true, updatable = true) }) @ManyToOne private AccountingPeriod…
-
JSF Ressourcen in Libraries
Umgebung Ressourcen können in JEE in Bibliotheken organisiert werden. Dabei bildet eine Bibliothek ein Unterverzeichnis in den Ressourcen-Verzeichnissen, die beim Start des Servers zusammengesucht werden. Hiermit können verschiedene interessante Punkte wie beispielsweise implementiert werden. Hier für müssen die Grafiken, CSS Dateien und andere Resosourcen in einem entsprechenden Verzeichnis unterhalb eines der verwendeten resources Verzeichnisse. Beispielsweise…
-
Probleme mit Schriften und BIRT 4.6 unter Linux
Umgebung Unter Windows erkennt BIRT beim direkten Aufruf – also keinem Aufruf über das Web-Viewer-Example – alle Schriften automatisch. Deployed man die notwendigen jars mit einer EE(7) Anwendung auf einem Wildfly kann es zu Problemen mit nicht Standard-Schriften kommen. Auch eine Installation der Schriften unter /user/share/fonts oder anderen üblichen Verzeichnissen führt nicht immer zum Erfolg.…
-
Tipp 01 Primefaces: Tabellen sortieren sich nicht
Umgebung Folgender Fall ist gegeben: In einer xhtml-Seite wird auf eine Liste in einer Sessionbean für eine Tabelle verwiesen. <p:dataTable value=“#{sBDummy.myList}“ var=“item“ > <p:column sortBy=“#{item.description}“ > <f:facet name=“header“ > <h:outputText value=“Beschreibung“ /> </f:facet> <h:outputText value=“#{item.description }“ /> </p:column> </p:dataTable> Es kommt zu Problemen bei der Sortierung der Spalten, wenn die Liste der Tabelle nicht in…
-
Tipps zu JSF Composite Componentes
Umgebung Mit diesem Post möchte ich einige Hinweise zu den Composite Componentes von JSF geben, die immer wieder gefragt werden. Zugriff auf Attribute des Interfaces Auf Attribute des Interfaces wird über #{cc.attrs.<Name aus dem Interface>} zugegriffen. Rendered und id verhalten sich seltsam Composite Componentes leiten sich aus UINamingContainer und UIComponentBase ab. Daher dürfen und sollen…