JBoss Enterprise Application Platform

Notes de distribution 4.2.0

Résumé

Voici les Notes de distribution pour la distribution de JBoss Enterprise Application Platform 4.2, contenant les dernières nouveautés et informations importantes


1. Introduction à JBoss Enterprise Application Platform
2. Liens de sites Web pour la prise en charge de produit et la licence
3. Documentation incluse
4. Paramètres de sécurité par défaut
5. Exécuter l'exemple Applications de Seam
6. Preview de la technologie de la base de données Hypersonic imbriquée
7. Problèmes connus avec cette distribution

1. Introduction à JBoss Enterprise Application Platform

Vous recherchez un outil puissant pour développer des applications Web 2.0 riches et hautes performances sur une plate-forme purement Java ?

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

Elle fournit une compatibilité totale avec les applications J2EE 1.4 existantes.

En même temps, presque toutes les fonctionnalités et les composants essentiels définis dans les spécifications Java EE 5.0 sont pris en charge. Ainsi vos nouvelles applications d'entreprise Java peuvent immédiatement tirer avantage du modèle de programmation basé sur POJO, de Java EE 5.0 qui est beaucoup plus simple.

De plus, en intégrant les meilleurs frameworks open source -- comme JBoss Seam, Hibernate, Tomcat, et JBoss Cache -- JBoss Enterprise Application Platform tire avantage des innovations de la communauté open source.

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.

Ce qui signifie que vous pouvez développer votre nouvelle application en tirant immédiatement avantage des technologies Java EE 5.0 et avec la certitude qu'elle restera compatible avec des versions futures de la plate-forme JBoss.

2. Liens de sites Web pour la prise en charge de produit et la licence

Processus de prise en charge

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

Étendue de la couverture de prise en charge de production

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

Accord sur le niveau de service de la prise en charge de production

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

Étendue de la couverture de prise en charge du développeur

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

Accord sur le niveau de service de prise en charge du développeur

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

Mise à jour du produit et prise en charge de la politique par produit

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

Accord de licence de l'utilisateur final de JBoss

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

3. Documentation incluse

Dans la distribution zip, la documentation pour la plate-forme et ses composants individuels est distribuée dans un fichier zip séparé, jboss-eap-docs-4.2.0-1.ep1.1.zip.

Sous un système Linux, la documentation est située dans deux rpms qui devront être installés manuellement. Ces rpm sont jboss-seam-docs-1.2.0-1.AP.ep1.11.noarch.rpm, et rh-eap-docs-4.2.0-1.ep1.5.noarch.rpm. Pour une assistance dans l'installation des paquetages rpm sous Red Hat Enterprise Linux, veuillez consulter l'article de la base de connaissances Red Hat à 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

Consultez le fichier index.html dans le répertoire de la documentation pour une liste de la documentation incluse. Veuillez également vous référer aux notes de distribution pour JBoss AS 4.2, situées à JBOSS_DIST/jboss-as/readme.html.

4. Paramètres de sécurité par défaut

Si vous utilisez le rpm, ou la distribution zip, veuillez noter que par défaut, l'authentification est activée et aucun compte d'utilisateur n'est configuré. C'est ainsi pour empêcher les accès non-autorisés à différents services de JBoss AS. Veuillez consulter le Guide d'installation, ou http://kbase.redhat.com/faq/FAQ_107_9963.shtm pour des informations sur la façon de rendre les services à nouveau accessibles.

5. Exécuter l'exemple Applications de Seam

Il est recommandé d'exécuter l'exemple, Applications de Seam qui sont incluses dans la documentation, en utilisant la configuration de production. L'utilisation d'une autre configuration pourra entraîner des problèmes de mémoire, comme décrits dans Le déploiement d'exemples SEAM entraîne java.lang.OutOfMemoryError : PermGen space . Notez que si aucune autre configuration n'est spécifiée, la configuration par défaut pour le démarrage du serveur est la configuration de production.

6. Preview de la technologie de la base de données Hypersonic imbriquée

Veuillez noter que la base de données Hypersonic est incluse en tant que preview de la technologie et qu'elle n'est pas supportée pour une utilisation dans les environnements de production. La prise en charge technique n'est pas disponible pour ce composant, et bien que nous acceptions les rapports de bogue sur ce composant, nous ne nous engageons en aucune façon à le corriger dans un délai donné.

7. Problèmes connus avec cette distribution

Ce qui suit est une liste de problèmes connus au moment de la distribution. De plus amples informations sur ces problèmes sont disponibles à JIRA.

Le déploiement du JBoss Portal de 2.4.1.SP1 construit avec jdk1.4, échoue dans le déploiement dans l'édition de la plate-forme, qui exécute avec jdk1.5.
Problème

Le déploiement de certains MBean échoue avec des erreurs.

Informations supplémentaires

Des erreurs semblables à ce qui suit, apparaissent dans 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

Statut

Actuellement nous attendons l'incorporation de correctifs de bogues.

Solution de rechange

Aucune actuellement. Portal 2.6 peut déployer sur 4.2, mais toutes les fonctionnalités ne sont pas opérationnelles.

Informations supplémentaires

JBPAPP-59

NetBeans 5.5 ne détecte pas JBoss AS 4.2.0.GA
Problème

JBoss AS 4.2.0.GA ne peut pas être ajouté à une liste de serveur NetBeans 5.5, car il n'est pas détecté.

Statut

Ce problème a été résolu dans une version plus récente de NetBeans. JBoss 4.2.0 est détecté avec succés par NetBeans 5.5.1 RC1 et supérieur.

Solution de rechange

S'il n'est pas possible d'utiliser NetBeans 5.5.1 RC 1 ou supérieur, ajoutez un fichier vide appelé resolver.jar à $JBOSS_HOME/lib/endorsed. Cela activera la détection du serveur par NetBeans 5.5.

Informations supplémentaires

JBPAPP-84

Le déploiement d'exemples SEAM entraîne java.lang.OutOfMemoryError : PermGen space
Problème

Il y a deux exemples SEAM fournis avec la distribution de la plate-forme d'application SEAM. Par ailleurs, il y a plusieurs exemples fournis dans exemples/seam. La tentative de déploiement de tous les exemples fait que l'espace PermGen du serveur est épuisé. Le serveur n'est plus utilisable et doit être tué par la commande explicite "kill".

Solution de rechange

Démarrer le serveur avec le profil de production résoudra le problème.

Informations supplémentaires

JBPAPP-66

Le gestionnaire de la base de données HSQL ne démarre pas quand JBoss AS est exécuté en tant que service sous Linux
Problème

Quand JBoss AS est démarré en tant que service sous Linux, le gestionnaire de la base de données HSQL ne démarre pas. Une erreur semblable à ce qui suit est observée dans server.log :

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) 

Solution de rechange

Le gestionnaire de la base de données HSQL démarre si JBoss AS est lancé en utilisant run.sh

Informations supplémentaires

JBPAPP-180

Les raccourcis de bureau pour arrêter le serveur ne fonctionnent pas quand une configuration minimale est lancée.
Problème

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

Cause

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.

Informations supplémentaires

JBPAPP-163.

Les instructions pour l'instrumentation de Tomcat ne s'affichent pas quand il est géré par un agent windows
Problème

Quand l'agent JON est exécuté dans une boîte windows et le serveur JON sur une boîte Linux, les instructions indiquant comment instrumenter Tomcat ne s'affichent pas.

Solution de rechange

Vous pouvez suivre ces instructions pour instrumenter Tomcat pour le contrôle :

Configurer Tomcat 6.0 imbriqué dans JBoss pour le contrôle

NOTE : si vous contrôlez le Tomcat interne de JON, ces étapes ne sont pas nécessaires.

Pour activer le contrôle des serveurs et des services de Tomcat, Tomcat doit être instrumenté en utilisant un filtre pour la collecte des données métriques, et une application web pour la livraison des données métriques dans JON. L'application web, le filtre et tous les jars supplémentaires sont empaquetés dans le répertoire de l'agent JON sous le servlet product_connectors. Toutes les commandes ci-dessous devraient être issue de ce répertoire.

La première étape pour rendre Tomcat contrôlable est d'installer le filtre et l'application web. Ils sont utilisés pour collecter des données métriques internes de Tomcat.

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

Ensuite déployez l'application web jbnem-monitor dans votre serveur JBoss :

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

Enfin le filtre doit être activé. Ce qui suit doit être ajouté à %JBOSS_HOME%\server\{default | all}\deploy\jboss-web.deployer\conf\web.xml. Rappelez-vous que tous les types de balises doivent être regroupés.

<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>
Informations supplémentaires

JBPAPP-210

L'injection @EJB ne fonctionne pas dans les backing beans JSF
Problème

Quand la méthode d'un backing bean JSF exigeant l'injection d'un bean EJB3 ou d'une interface de bean est appelée, elle lance une exception : ERROR [JBossInjectionProvider] Injection failed on managed bean.

Cause

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.

Solution de rechange

Il y a deux méthodes disponibles pour contourner cela. L'une est d'utiliser une recherche explicite du JNDI. Pour voir un exemple, référez-vous au code pour le TodoBean dans l'exemple d'application ejb3jsf example inclus dans la documentation. L'autre façon est d'utiliser le framework Seam pour obtenirdes beans EJB3 dans la couche de service web. Référez-vous à l'exemple seam d'application dans la documentation incluse.

Informations supplémentaires

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

Les requêtes utilisant la syntaxe Escape dans l'expression LIKE avec PostgreSQL 8.2 entraînent une PSQLException: L'index de la colonne est non-autorisée.
Problème

Certains caractères d'échappement, quand ils sont utilisés dans une expression LIKE, entraînent une exception avec PostgreSQL 8.2.

Solution de rechange

Certains "caractères d'échappement" sont à éviter en ce qui concerne la portabilité parmi les différents vendeurs de bases de données. La barre oblique inverse ('\'), par exemple, a une signification particulière dans PostgreSQL (et peut-être même avec d'autres bases de données) et ne peut pas être utilisée dans une séquence d'échappement comme cela est possible dans d'autres bases de données. À la place, choisissez un caractère d'échappement suffisamment sûr sur toutes les bases de données, comme un "tube" ('|').

Informations supplémentaires

JBPAPP-219.

EJB3 related issues in this release
Problème

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.

Informations supplémentaires

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