JBoss Enterprise Application Platform

Release Notes 4.2.0

Zusammenfassung

Dies sind die Release Notes für die JBoss Enterprise Application Platform 4.2 Release, in denen Sie brandaktuelle und wichtige Informationen finden


1. Einführung in die JBoss Enterprise Application Platform
2. Produkt-Support und Lizenz-Website-Links
3. Enthaltene Dokumentation
4. Standard-Sicherheitseinstellungen
5. Ausführen der Beispiel-"Seam"-Anwendungen
6. Vorschau auf die eingebettete "Hypersonic Database"-Technologie
7. Bei dieser Release bekannte Probleme

1. Einführung in die JBoss Enterprise Application Platform

Suchen Sie nach einem leistungsfähigen Tool zur Entwicklung qualitativ hochwertiger Web 2.0 Anwendungen auf einer reinen Java Plattform?

JBoss Enterprise Application Platform 4.2 is the next evolutionary step in open source enterprise software.

Es besteht vollständige Kompatibilität mit existierenden J2EE 1.4 Java Anwendungen für den Unternehmensbereich.

Außerdem werden fast alle wichtigen Features und in der Java EE 5.0 Spezifikation definierten Komponenten unterstützt. Ihre neuen Enterprise Java Anwendungen können also sofort die Vorteile des wesentlich einfacheren, POJO-basierten Programmiermodells von Java EE 5.0 nutzen.

Durch Integration der besten Open Source Bezugssysteme -- wie etwa JBoss Seam, Hibernate, Tomcat und JBoss Cache -- nutzt die JBoss Enterprise Application Platform die Vorteile von Innovationen der Open Source Community.

As well, JBoss Enterprise Application Platform 4.2 is fully tested and supported by Red Hat, and is certified to work on many leading enterprise hardware and software products.

All dies bedeutet, dass Sie bei der Entwicklung Ihrer neuen Anwendung sofort auf die Vorteile der Java EE 5.0 Technologien zugreifen können und die Gewissheit haben, dass diese auch mit zukünftigen Versionen der JBoss Platform kompatibel bleiben werden.

2. Produkt-Support und Lizenz-Website-Links

Support-Prozesse

http://www.redhat.com/support/process/

Umfang der Abdeckung von Produktions-Support

http://www.redhat.com/support/policy/soc/production

Vereinbarung zu Produktions-Support auf Service-Ebene

http://www.redhat.com/support/policy/sla/production/

Umfang der Abdeckung von Entwickler-Support

http://www.redhat.com/support/policy/soc/developer/

Vereinbarung zu Entwickler-Support auf Service-Ebene

http://www.redhat.com/support/policy/sla/developer/

Produktaktualisierung und Support-Richtlinien nach Produkt

http://www.redhat.com/security/updates/jboss_notes/

Lizenzvereinbarung für Endnutzer von JBoss

http://www.redhat.com/licenses/jboss_eula.html

3. Enthaltene Dokumentation

In der Zip-Distribution ist die Dokumentation für die Plattform und deren einzelne Komponenten in einer separaten Zip-Datei mit Namen jboss-eap-docs-4.2.0-1.ep1.1.zip enthalten.

Bei einem Linux-System befindet sich die Dokumentation in zwei rpms, die manuell installiert werden müssen. Diese rpms sind jboss-seam-docs-1.2.0-1.AP.ep1.11.noarch.rpm und rh-eap-docs-4.2.0-1.ep1.5.noarch.rpm. Hilfen zur Installation von rpm-Paketen bei Red Hat Enterprise Linux finden Sie im Red Hat "Knowledge Base"-Artikel unter http://kbase.redhat.com/faq/FAQ_35_198.shtm

Updated versions of the documentation may be accessed via the web from http://www.redhat.com/docs

Eine Liste der enthaltenen Dokumentation finden Sie in der index.html Datei des Dokumentationsverzeichnisses. Beachten Sie bitte auch die Release Notes für JBoss AS 4.2 unter JBOSS_DIST/jboss-as/readme.html.

4. Standard-Sicherheitseinstellungen

Falls Sie die rpm- oder die zip-Distribution verwenden, so beachten Sie bitte, dass in der Standardeinstellung die Authentifikation aktiviert ist und keine Benutzerkonten eingerichtet sind. Dies ist der Fall, damit kein unberechtigter Zugriff auf die verschiedenen Dienste des JBoss AS erfolgen kann. Informationen dazu, wie erneut auf diese Dienste zugegriffen werden kann, finden Sie im Installationshandbuch oder unter http://kbase.redhat.com/faq/FAQ_107_9963.shtm.

5. Ausführen der Beispiel-"Seam"-Anwendungen

Es wird empfohlen, die in der Dokumentation enthaltenen Beispiel-"Seam"-Anwendungen mit der Produktionskonfiguration auszuführen. Die Verwendung einer anderen Konfiguration kann zu den in Deployment von SEAM-Beispielen führt zu java.lang.OutOfMemoryError: PermGen space beschriebenen Speicherproblemen führen. Beachten Sie, dass die Standardkonfiguration beim Start des Servers die Produktionskonfiguration ist, wenn keine andere Konfiguration festgelegt wurde.

6. Vorschau auf die eingebettete "Hypersonic Database"-Technologie

Bitte beachten Sie, dass die eingebettete "Hypersonic Database" zwar als Technologie-Vorschau enthalten, jedoch nicht bei der Verwendung in Produktionsumgebungen unterstützt wird. Technischer Support ist für diese Komponente nicht verfügbar, und während wir uns zwar über Meldungen zu Fehlern an dieser Komponente freuen, können wir uns nicht auf deren Behebung innerhalb eines bestimmten zeitlichen Rahmens festlegen.

7. Bei dieser Release bekannte Probleme

Nachfolgend sehen Sie eine Liste der zum Zeitpunkt der Release bekannten Probleme. Einzelheiten dazu finden Sie unter JIRA.

JBoss Portal Deployment aus 2.4.1.SP1 gebaut mit jdk1.4 deployt in Platform Edition nicht, die mit jdk1.5 läuft.
Problem

Das Deployment einiger MBeans schlägt fehl (mit Fehlermeldungen).

Weitere Informationen

Fehler, ähnlich dem Folgenden erscheinen in server.log:

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/portal-core]]
Error configuring application listener of class
org.apache.myfaces.webapp.StartupServletContextListener 
java.lang.ClassNotFoundException: org.apache.myfaces.webapp.StartupServletContextListener

Status

Auf die Integration der Fehlerbehebung wird derzeit noch gewartet.

Hilfskonstruktion

Zu diesem Zeitpunkt keine. Portal 2.6 kann auf 4.2 deployt werden, jedoch sind nicht alle Features verfügbar.

Weitere Informationen

JBPAPP-59

NetBeans 5.5 findet JBoss AS 4.2.0.GA nicht
Problem

JBoss AS 4.2.0.GA kann einer NetBeans 5.5 Server-Liste nicht hinzugefügt werden, da es nicht aufgefunden wird.

Status

Dies wurde in einer späteren Version von NetBeans behoben. JBoss 4.2.0 wird durch NetBeans 5.5.1 RC1 und späteren Versionen erfolgreich aufgefunden.

Hilfskonstruktion

Falls es nicht möglich ist, NetBeans 5.5.1 RC 1 oder eine spätere Version zu verwenden, fügen Sie eine leere Datei mit dem Namen resolver.jar in $JBOSS_HOME/lib/endorsed hinzu. Dadurch wird der Server in NetBeans 5.5 aufgefunden.

Weitere Informationen

JBPAPP-84

Deployment von SEAM-Beispielen führt zu java.lang.OutOfMemoryError: PermGen space
Problem

In der SEAM Application Platform Distribution werden zwei SEAM-Beispiele mitgeliefert. Außerdem stehen weitere Beispiele in seam/examples zur Verfügung. Ein Versuch, alle diese Beispiele zu deployen führt dazu, dass der PermGen-Platz des Servers aufgebraucht wird. Der Server kann nicht länger verwendet werden und muss durch ausdrücklichen "kill"-Befehl beendet werden.

Hilfskonstruktion

Das Starten des Servers mit dem production-Profil löst dieses Problem.

Weitere Informationen

JBPAPP-66

Der HSQL Database Manager startet nicht, wenn JBoss AS als Dienst unter Linux läuft
Problem

Wenn JBoss AS als Dienst auf Linux gestartet wurd, so schlägt der Start des HSQL Datenbank-Managers fehl. Unter server.log erscheint ein Fehler ähnlich dem Folgendem:

2007-05-17 12:15:29,113 ERROR [org.jboss.jdbc.HypersonicDatabase] Failed to star
t database manager
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.jboss.jdbc.HypersonicDatabase$1.run(HypersonicDatabase.java:517)
Caused by: java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which r
equires it.
        at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:1
59)
        at java.awt.Window.<init>
>(Window.java:317)
        at java.awt.Frame.<init>(Frame.java:419)
        at javax.swing.JFrame.<init>(JFrame.java:194)
        at org.hsqldb.util.DatabaseManagerSwing.main(Unknown Source) 

Hilfskonstruktion

Der HSQL Datenbank-Manager startet, wenn JBoss AS unter Verwendung von run.sh gestartet wird.

Weitere Informationen

JBPAPP-180

Desktop-Verknüpfungen zum Herunterfahren des Servers funktionieren nicht, wenn mit der "minimal"-Konfiguration gestartet wurde.
Problem

When JBoss AS has been started using the minimal configuration, the desktop shortcut to shutdown the server results in a verbose error message.

Ursache

This is expected behaviour for the server. The Server Shutdown desktop shortcut and the shutdown script both rely on the jmx-invoker-service.xml service. As this is not enabled in the minimal configuration these two methods cannot be used to shut down the server. The server may be started manually at a command line and the Ctrl-C key combination used to stop it in this case.

Weitere Informationen

JBPAPP-163.

Tomcat Instrumentierungsanweisungen werden nicht angezeigt, wenn durch einen "Windows Agent" verwaltet
Problem

Wenn der JON-Agent auf einer Windows-Box läuft und der JON-Server auf einer Linux-Box, so werden keine Instrumentierungsanweisungen zu Tomcat angezeigt.

Hilfskonstruktion

Sie können diesen Anweisungen zur Instrumentierung von Tomcat zur Überwachung folgen:

Konfigurieren Sie eingebettetes Tomcat 6.0 JBoss für die Überwachung

HINWEIS: Wenn Sie JON's internes Tomcat überwachen, so sind diese Schritte nicht notwendig.

Um die Überwachung von Tomcat-Servern und Diensten zu aktivieren, muss der Tomcat-Server unter Verwendung eines Filters zur Sammlung von Metriken und einer Webapp instrumentiert werden, um die metrischen Daten an JON zu liefern. Die Web-Anwendung, der Filter und weitere Jars werden in das Agent-Verzeichnis JONs unter product_connectors\servlet gepackt. Alle Befehle unten sollten von diesem Verzeichnis aus herausgegeben werden.

Der erste Schritt, um Tomcat überwachbar zu machen ist die Installation von Filter und Webapp. Diese werden zum Sammeln interner Tomcat-Metriken verwendet.

Kopieren Sie libs\hq-filter.jar %JBOSS_HOME%\server\{default | all|\deploy\jboss-web.deployer

Anschließend deployen Sie die jbnem-monitor webapp in Ihrem JBoss-Server:

xcopy /E jbnem-monitor %JBOSS_HOME%\server\{default | all}\deploy\jboss-web.deployer\..\jbnem-monitor.war\

Zuletzt muss noch der Filter aktiviert werden. Folgendes muss %JBOSS_HOME%\server\{default | all}\deploy\jboss-web.deployer\conf\web.xml hinzugefügt werden. Vergessen Sie nicht, das jeder "Tag"-Typ gemeinsam gruppiert werden muss.

<filter>
    <filter-name>JMXFilter</filter-name>

<filter-class>net.hyperic.hq.product.servlet.filter.JMXFilter</filter-class>

    <!-- Uncomment the following line to enable response time logging.
            The directory you specify as the param can include properties
            referenced from the System.properties of the vm.

            The ResponseTime log file will by default store the last 1 hour's
            worth of response time data. This file gets truncated as soon as
            data is succesfully sent into the server. The file is named uniquely
            for each webapp in the form: yourContextName_JBNEMResponseTime.log

            If this fragment is included in the global web.xml for the container,
            all webapps in it will generate response time data, and have logs
            following the format described above. You can enable it individually
            on each webapp as well if you dont want every webapp to generate
            response time data

         -->
    <!--
    <init-param>
      <param-name>responseTimeLogDir</param-name>
      <param-value>%JBOSS_HOME%\jboss-as\server\{default | all}\log</param-value>
    </init-param>
         -->

    <!-- these are optional parameters which you can override to optimize logging -->
    <!--
    <init-param>
      <param-name>bufferSize</param-name>
      <param-value>8k</param-value>
    </init-param>

    <init-param>
      <param-name>bufferTime</param-name>
      <param-value>1h</param-value>
    </init-param>
         -->
  </filter>

  <filter-mapping>
    <filter-name>JMXFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <listener>

<listener-class>net.hyperic.hq.product.servlet.filter.JMXSessionListener</listener-class>
    </listener>

  <servlet>
    <servlet-name>JMXWebappMetricServlet</servlet-name>

<servlet-class>net.hyperic.hq.product.servlet.filter.JMXFilterInitServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
Weitere Informationen

JBPAPP-210

@EJB-Injection funktioniert nicht in JSF-"Backing Beans"
Problem

Wenn eine Methode eines JSF-"Backing Beans", das die Injection eines EJB3-Beans oder ein Bean-Interface erfordert, aufgerufen wird, wird eine Ausnahme aufgerufen: ERROR [JBossInjectionProvider] Injection failed on managed bean.

Ursache

JBoss AS 4.2 is fully compatible with Java 1.4 EE applications, and provides extended functionality via an EJB3 plugin. Injections and annotations currently only function within the EJB3 plugin.

Hilfskonstruktion

Es existieren zwei verfügbare Methoden, um dies zu umgehen. Die eine ist es, einen expliziten JNDI-Lookup zu verwenden. Um ein Beispiel hierfür zu sehen, schauen Sie sich den Code für die TodoBean in der ejb3jsf-Beispielanwendung an, die Teil der Dokumentation ist. Die andere Hilfskonstruktion ist es, das Seam-Framework zu verwenden, um EJB3-Beans in den Web-Tier zu bringen. Sehen Sie sich hierzu die seam-Beispielanwendung in der enthaltenen Dokumentation an.

Weitere Informationen

More information on the workaround is available in the Getting Started Guide in the included documentation.

Anfrage unter Verwendung von Escape-Syntax im "LIKE"-Ausdruck mit PostgreSQL 8.2 resultiert in PSQLException: Der Spaltenindex liegt außerhalb des Bereichs
Problem

Bestimmte Code-Umschaltzeichen führen mit PostgreSQL 8.2 zu einer Ausnahme, wenn als "LIKE"-Ausdruck verwendet.

Hilfskonstruktion

Es gibt bestimmte "Code-Umschaltzeichen", die Sie zu Gunsten der Portabilität zwischen verschiedenen Datenbankanbietern vermeiden sollten. Der Backslash ('\') zum Beispiel besitzt eine besondere Bedeutung bei PostgreSQL (und möglicherweise anderen Datenbanken) und kann nicht in einer Escape-Sequenz verwendet werden wie dies bei anderen Datenbanken der Fall sein kann. Stattdessen sollten Sie ein Code-Umschaltzeichen wählen, dass bei allen Datenbanken sicher ist, etwa das "Pipe"-Symbol ('|').

Weitere Informationen

JBPAPP-219.

EJB3 related issues in this release
Problem

There are a number of issues in the EJB3 implementation in this release that need to be understood when developing for the platform. A summary of the issues with a link to further information follows.

Weitere Informationen

  • EJBTHREE-899 - WebServiceRef injection from deployment descriptor does not work.

  • EJBTHREE-900 - Injection of WebServiceContext doesn't work.

  • EJBTHREE-896 - Specifying an interceptor-order in ejb-jar.xml also creates a new instance of the interceptor.

  • EJBTHREE-985 - env-entry-value is optional (16.4.1.3 last paragraph).

  • EJBTHREE-989 - Can't inject resources of type URL.

  • EJBTHREE-967 - Injection of ORB doesn't work (EJB3 16.13).

  • EJBTHREE-724 - persistence.xml jar-file processing (EJB3 6.2.1.6).

  • EJBTHREE-757 - getMessageContext Not Implemented.