Kategorie: Wildfly

  • 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 Execute vs. PrimeFaces Process

    Umgebung Da wir gerade in einem Projekt eine Fehlersuche hinter uns haben, hier ein kleiner Post zu den Attributen execute der JSF Standardkomponenten und process der PrimeFaces Komponenten. Der Standardwert von execute ist laut Dokumentation @this (vergl. http://docs.oracle.com/javaee/6/tutorial/doc/gkace.html). Es wird also nur der Inhalt der aktuellen Komponente übermittelt. Zu den Standardwert des process Attributs der…

  • JEE7: JSF Gui Komponenten auslagern

    Umgebung Neben den Java Klassen werden in einer Web-Anwendung auch die JSF-Darstellungskomponenten verwaltet. Dies sind ganze HTML-Seiten, Includes in XHTML-Seiten, Templates, Grafiken und andere Darstellungsbeschreibungen. Auch diese können in externe jar-Dateien ausgelagert werden. Bei der Bereitstellung gibt es Einschränkungen (vergl. Ende dieses Abschnitts), die aber keine Einschränkungen für die Entwicklung und die Auslagerung in separate…

  • JEE7: Managed-Beans und JSF Java Klassen auslagern

    Umgebung Nachdem ich im letzten Post das Auslagern im Bereich der EJBs beschrieben habe, folgt hier nun die Auslagerung von Java-Klassen im Beriech JSF, als nächster Schritt der Wiederverwendung von Teilen einer JEE 7 Web-Anwendung. Auslagerung in jar-Dateien Wenn für mehrere Projekte eine gleiche Basis von z.B. Sessionbeans oder JSF-Konvertern verwendet werden sollen, müssen diese…

  • JEE7: Mehrere Archive für Entitäten und EJB verwenden

    Umgebung Häufig ist es sinnvoll die Logik in Form von Entitäten und Stateless- / Stateful-EJBs (im Allgemeinen Facades) auf mehrere Archive zu verteilen. Beispielsweise kann so zwischen Basisklassen, die in mehreren Projekten verwendet werden, und Klassen, die speziell für ein Projekt entwickelt wurden, unterschieden werden. In der IDE und im Build sind dies Module/Projekte sauber…

  • Performance bei JPA Abfragen

    Umgebung Wenn keine providerspezifischen Hilfskonstrukte verwendet werden, werden alle JPA-Abfragen in eine SQL-Anweisung überführt und an die Datenbank gesendet. Ausnahmen sind lediglich die Abfragen direkt über find(id) und interne Abhängigkeiten in den Objekten, die auf den Second-Level-Cache zugreifen. Somit wird der Cache in weiten Teilen nicht genutzt. Dies hat zur Folge, dass bei Abfragen, die…

  • Wildfly – Pool-Size der Datenbankverbindungen

    Umgebung Pool-Size dfinieren Die standalone.xml, die mit Wildfly ausgeliefert wird, hat leider im Bereich Datasource keine Eintragungen für die Pool-Size. Daher vergisst man leicht, diese für produktive Systeme anzupassen. <datasource jndi-name=”java:jboss/datasources/ExampleDS” pool-name=”ExampleDS”> <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url> <driver>h2</driver> <security> <user-name>sa</user-name> <password>sa</password> </security> </datasource> Um die Defaultwerte der relevanten Attribute herauszufinden, empfiehlt es sich auf der Seite https://wildscribe.github.io/Wildfly/10.0.0.Final/subsystem/datasources/xa-data-source/index.html nachzuschlagen. Dort…

  • Eclipselink JoinFetch – man muss wissen, was man tut

    Umgebung Eine Möglichkeit das 1:n Problem bei JPA Zugriffen zu lösen ist es, die abhängigen Werte einer Entität in einer Abfrage von der Datenbank zu bekommen. Hierfür bietet Eclipselink die Annotation @JoinFetch. @Entity public class Text2Translate extends Serializable { … @OneToMany(cascade = CascadeType.ALL, mappedBy = “…”, fetch = FetchType.EAGER) @JoinFetch(value = JoinFetchType.OUTER) private List<Translation> translations…