Kategorie: JEE / Jakarta

  • JSF Converter mit EJB Injection – JSF 2.3

    Gerade für Konverter war es schmerzlich, dass ein Injizieren von EJBs und anderen CDI Beans nicht möglich war. Mit JSF 2.3 kam nun endlich das notwendige Feature (wie auch für Validator und Behavior). https://javaserverfaces.github.io/whats-new-in-jsf23.html beschreibt die neuen Möglichkeiten und auch dass das Attribut „managed = true“ gesetzt werden muss. Verwendet man nun ausschließlich diese Informationen…

  • Spooky Exceptions (11) – … javax.ejb.EJBException: WFLYEJB0442: Unexpected Error

    Umgebung Situation Bei dem Aufruf einer JPA Query wird folgende Exception geworfen … javax.ejb.EJBException: WFLYEJB0442: Unexpected Error … Caused by: java.lang.StackOverflowError at org.eclipse.persistence.jpa.jpql.parser.AbstractExpression.getRoot(AbstractExpression.java:530) at org.eclipse.persistence.jpa.jpql.parser.AbstractExpression.getRoot(AbstractExpression.java:530) at org.eclipse.persistence.jpa.jpql.parser.AbstractExpression.getRoot(AbstractExpression.java:530) … Lösung Ursache dieser Exception ist eine lange Kette von WHERE Bedingungen (ca 2250) in einer JPQL Abfrage, die über Parameter befüllt werden. Es scheint hier Grenzen in…

  • Spooky Exceptions (10) – An exception occurred while creating a query in EntityManager

    Umgebung Situation Bei dem Aufruf einer JPA Query kommt eine Exception 2018-06-22 12:45:43,615 ERROR [org.jboss.as.ejb3.invocation] (default task-1) WFLYEJB0034: EJB Invocation failed on component DataPrivacyStatementAcceptanceFacade for method public abstract de.schoeso.festival.ejb.mde.DataPrivacyStatementAcceptanceList de.schoeso.festival.ejb.mde.facade.DataPrivacyStatementAcceptanceFacadeLocal.findByVariousParameters(): javax.ejb.EJBException: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: Exception Description: Problem compiling [SELECT x FROM DataPrivacyStatementAcceptance x]. [14, 44] The abstract schema…

  • Spooky (missing) Exceptions (9) – Objekt wird vom (Eclipse) JPA Provider nicht in die Datenbank geschrieben

    Umgebung Situation Ein Subobjekt einer Entität (OneToOne), das über cascade = CascadeType.ALL angebunden ist, wird bei merge nicht persistiert. Analyse In diesem Fall wurde das Objekt nicht im Oberobjekt instanziiert @OneToOne(cascade = CascadeType.ALL, mappedBy = „repairWarranty“, fetch = FetchType.EAGER) private StateChange stateChange = null; Wenn ein abhägiges Objekt erst in einer Livecycle Methode @PostPersist instanziiert…

  • Spooky Exceptions (8) – Exception Description: Entity class [class … ] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass

    Umgebung Situation Bei der Prüfung der persistence.xml beim Hochfahren des Servers wird folgende Exception geworfen: Internal Exception: Exception [EclipseLink-7161] (Eclipse Persistence Services – 2.6.4.v20160829-44060b6): org.eclipse.persistence.exceptions.ValidationException Exception Description: Entity class [class …] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass. If you have defined PK using any of these…

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

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