Copyright © 2006-2007
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
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.
http://www.redhat.com/support/process/
http://www.redhat.com/support/policy/soc/production
http://www.redhat.com/support/policy/sla/production/
http://www.redhat.com/support/policy/soc/developer/
http://www.redhat.com/support/policy/sla/developer/
http://www.redhat.com/security/updates/jboss_notes/
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.
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.
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.
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é.
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 de certains MBean échoue avec des erreurs.
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
Actuellement nous attendons l'incorporation de correctifs de bogues.
Aucune actuellement. Portal 2.6 peut déployer sur 4.2, mais toutes les fonctionnalités ne sont pas opérationnelles.
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é.
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.
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.
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".
Démarrer le serveur avec le profil de production résoudra le 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)
Le gestionnaire de la base de données HSQL démarre si JBoss AS est lancé en utilisant run.sh
When JBoss AS has been started using the minimal configuration, the desktop shortcut to shutdown the server results in a verbose error message.
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.
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.
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>
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.
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.
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.
More information on the workaround is available in the Getting Started Guide in the included documentation.
Certains caractères d'échappement, quand ils sont utilisés dans une expression LIKE, entraînent une exception avec PostgreSQL 8.2.
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" ('|').
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.
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.