9.4. Behobene Probleme mit Seam


JBPAPP-4876
Bei der Einspeisung einer jBPM ProcessInstance in eine Seam Komponente wurde die wiedergegebene Prozessinstanz für "auto-save" registriert. Dies führte zu einem Problem mit der Performance, da der jBPM ManagedContext alle Instanzen in der autoSaveProcessesList speichert, wenn er schließt. Der Code für die Wiedergabe einer ProcessInstance bei Einspeisung wurde geändert, und die Prozessinstanz ist nicht mehr für "auto-save" registriert.
JBPAPP-4685
Eine Eingabe-Bereinigungsschwachstelle wurde bei der Art und Weise, auf die JBoss Seam bestimmte parametrisierte JBoss Expression Language (EL) Ausdrücke verarbeitete gefunden. Ein Remote-Angreifer konnte diese Schwachstelle zur Ausführung arbiträren Codes via URL nutzen, die angehängte, speziell gefertigte Expression Language Parameters enthielten, die bestimmten Applikationen basierend auf das JBoss Seam Framework geliefert wurden. Hinweis: Ein ordnungsgemäß konfigurierter und aktivierter Java Security Manager würde die Ausnutzung dieser Sicherheitslücke verhindern. (CVE-2010-1871)
Red Hat möchte sich bei Meder Kydyraliev vom Google Security Team für die Meldung dieses Problems bedanken.
JBPAPP-4577
Eine Änderung an Seams getInstanceFromFactory-Methode zur Behebung eines Nebenläufigkeitsproblems führte bei einer ganz spezifischen Kombination von Umständen bei einigen Applikationen zu einer Deadlock-Situation. Die ursprüngliche Problembehebung von getInstanceFromFactory wurde überarbeitet, und der Fehler wurde seitdem nicht mehr beobachtet.
JBPAPP-4568
Seam wurde mit einer Kopie von activation.jar in seinem /lib-Verzeichnis distribuiert. Diese Datei wird auch vom JDK 6 bereitgestellt. Die Kopie in Seam wurde entfernt.
JBPAPP-4509
Rich:comboBox Komponenten in Seam Apps, die mit seam-gen erstellt wurden fehlte die Drop-Down-Pfeilgrafik. Dies wurde behoben, indem das kaskadierende Style Sheet bearbeitet wurde, das die Anzeige der Komponente in einem Webbrowser steuert. Die Pfeilgrafik wird jetzt korrekt angezeigt.
JBPAPP-4317
Seam würde fehlschlagen wenn zwei Komponenten mit demselben Klassennamen im Klassenpfad gefunden würden; folgender Fehler würde gemeldet : "java.lang.IllegalStateException: Two components with the same name and precedence -", gefolgt von der Komponente und Klassennamen. Seam wurde aktualisiert und ignoriert jetzt doppelte Klassen. Trifft es auf doppelte Komponenten mit demselben Klassennamen, so wird die erste auf die es trifft geladen und jede weitere Komponente im Klassenpfad mit demselben Klassennamen wird ignoriert.
JBPAPP-4273
MockServletContext war nicht darüber informiert, dass die JBoss Enterprise Application Platform 5 das Virtual File System verwendete. Es versuchte daher auf URIs als Dateien zuzugreifen. MockServletContext erkennt jetzt den Web Applikation Root und ruft den Pfad der URL-Klasse ab, wodurch sichergestellt wird, dass das Protokoll keinen Teil des java.io.File Constructor-Parameters bildet.
JBPAPP-4259
Seam-gen Vorlagen verwendeten resource:// für Objekte, die nicht im Klassenpfad waren. Dies führte beim Versuch eine RichFaces Vorlage (XCSS) in eine CSS-Datei umzuwandeln zu einem Fehler. Seam-gen verwendet resource:// nicht mehr, wodurch das Problem behoben wurde.
JBPAPP-4015
Beim Hot Deployment von mehrere WAR-Dateien enthaltenden EARs funktionierte die erste Webanwendung auf die zugegriffen wurde ordnungsgemäß, Anfragen an nachfolgende Webanwendungen jedoch führten zu einer NullPointerException. Dies war der Fall, weil der Applikationskontext nicht eingestellt war, wenn der Hot Deployment Filter lief. Jeder Vorgang, der mit einem Webanwendungskontext zu tun hat, prüft jetzt auf den aktuellen javax.servlet.ServletContext, wodurch das Problem gelöst ist.
JBPAPP-4013
Bei der Verwendung der Web Services Seite des Seambay-Beispiels im Internet Explorer 8, pflanzen sich die in den Benutzernamen- und Passwortfeldern eingegebenen Werte wegen eines undefinierten JavaScript-Objekts nicht zum Anfragebereich fort. Dies wurde korrigiert.
JBPAPP-4012
Das Tasks-Beispiel funktionierte nicht ordnungsgemäß im Internet Explorer 8. Wird "Undo this Task" auf der "Resolved Tasks"-Seite gewählt, so kehrt die Task zur Tasks-Seite zurück, verschwindet jedoch nicht von der "Resolved Tasks"-Seite. Dieses Problem wurde durch Abschalten des Ajax Anfragen-Cachings behoben.
JBPAPP-4010
Ressourcen vom Ressource-Servlet, wie etwa CAPTCHA Abbildungen, wurden vom Browser gecacht und wurden wegen inkorrekter Response-Header in org.jboss.seam.captcha.CaptchaImage nicht korrekt neu gerendert. Die Response-Header wurden korrigiert, so dass dies nicht mehr vorkommt.
JBPAPP-4009
In Seam Mail waren Anhänge nicht immer inline enthalten, so dass Anhänge in manchen Mail Clients nicht sichtbar waren. Der Patch für dieses Problem wurde von JBSEAM-4630 rückportiert und Anhänge sollten nun sichtbar sein.
JBPAPP-4008
Wurde ELSupport.coerceToType mit einer BigDecimal-Instanz als dem ersten Parameter 'obj' und BigDecimal.class als Typ aufgerufen, so wurde BigDecimal in ein "double" und wieder in ein BigDecimal zurück konvertiert, was zu einem anderen Wiedergabewert führte.
Darauf wurde Upstream eingegangen, und es wurde in JBoss Enterprise Application Platform 5.1.0 durch Änderung der Seam Abhängigkeit von JBoss-EL to 1.0_02.CR5 behoben.
ELSupport.coerceToType gibt jetzt einen Eingabewert wieder, wenn er zum gegebenen Typ zuweisbar ist.
JBPAPP-4007
org.jboss.seam.transaction.EjbSynchronizations stimmte nicht mit Java Spezifikationen überein. Wie in http://java.sun.com/blueprints/guidelines/designing_enterprise_applications/transaction_management/qanda/index.html dargestellt, können SessionSynchronization implementierende Klassen TransactionsAttribute TransactionAttributeType.SUPPORTS nicht haben. TransactionsAttributeType.SUPPORTS wurde durch TransactionsAttributeType.REQUIRED ersetzt.
JBPAPP-4006
org.jboss.seam.core.Interpolator meldete keine Ausnahmen und druckte Warnungen mit beschränkten Informationen. Ausnahmen werden jetzt gemeldet und Warnungen sind informativer.
JBPAPP-4005
Seam JMS-Support funktionierte nicht nach einem Failover zu einem Slave-Node, da das topicConnection-Feld im SubscriptionRegistry-Objekt ungültig wurde, wenn die Verbindung zum Master-Node fehlschlug. Nachfolgende Aufrufe von SubscriptionRegistry.subscribe() schlugen mit SpyJMSException fehl, und JMS-Abonnements funktionierten nicht mehr, selbst wenn der Master-Node wieder funktionstüchtig war. Dieses Problem ist jetzt behoben.
JBPAPP-4004
Es gab einen typografischen Fehler in der vom org.jboss.seam.async.AsynchronousExceptionHandler protokollierten Nachricht, wenn "Exeception thrown while executing asynchronous call" gemeldet wurde. "Exeception" sollte eigentlich "Exception" sein. Dies ist jetzt behoben.
JBPAPP-4003
Die Anforderungen von JBoss Enterprise Application Platform 4.x und JBoss Enterprise Application Platform 5.x sind verschieden und messages.properties auf Seitenebene im ResourceLoader müssen in META-INF/classes gespeichert werden oder sie funktionieren nicht. Die Dokumentation behandelt dies nicht explizit. Das Problem wurde behoben.
JBPAPP-4002
Initialization.redeploy enthielt Code, der eine neue Sperre erstellt und eine sofortige Sperrung durchführte. Dies bot keinerlei Schutzebene und konnte im Debug-Modus zu Problemen führen. Dies wurde behoben, indem die Sperre komplett entfernt wurde.
JBPAPP-3855
Der SeamSpace testCreateBlog schlug mit NullPointerException auf IBM JDK 1.6 fehl. Die getIdentifier-Methode verhält sich jetzt korrekt auf JDK 1.6.
JBPAPP-3769
In Profilen außer production setzte MockResponseStateManager ResponseStateManager#isPostback nicht außer Kraft. Dies bedeutete, dass sowohl Faces als auch nicht-Faces Anfragen als Postbacks evaluiert wurden. Eine isPostback(FacesContext context)-Methode wurde in org.jboss.seam.mock.MockResponseStateManager hinzugefügt, die die alte Methode außer Kraft setzt und NonFacesRequest die Erkennung von Postback gestattet.
JBPAPP-3713
JAX-RS Webdienste, die innerhalb einer EJB-Transaktion ausgeführt werden, können Seam HTTP-Authentifikation nicht nutzen. HTTP-Anfragen an einen Webdienst, der durch AuthenticationFilter geschützt ist, spalten sich in zwei ContextualHttpRequests auf. In der zweiten ist ein Lookup von EjbSynchronization Beans nicht möglich, so dass Component.getInstance("org.jboss.seam.transaction.synchronizations", ScopeType.EVENT) mit NoSuchEjbException fehlschlägt.
Dieses Problem wurde behoben.
JBPAPP-3525
s.tld in jboss-seam.ui.jar/MANIFEST.MF enthielt Attributeinträge, die gemäß dem XML-Schema für den JSP Taglibrary Deskriptor inkorrekt definiert waren. Dies wurde im Upgrade zu Richfaces 3.3.1.SP1 behoben.
JBPAPP-2384
Das Seam Chatroom Beispiel meldete eine EJBTransactionRolledbackException wenn ein Nutzer versuchte sich anzumelden. Diese Ausnahme hatte keinen Einfluss auf die Funktionalität der Anwendung und wurde mittels eines Updates von JBoss Cache behoben.
Red Hat logoGithubredditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können. Entdecken Sie unsere neuesten Updates.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

Theme

© 2026 Red Hat
Nach oben