Your SlideShare is downloading. ×
0
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Déploiement de Silverpeas sur JOnAS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Déploiement de Silverpeas sur JOnAS

1,440

Published on

1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
1,440
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
13
Comments
1
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. Silverpeas Portage sur JOnAS
  2. Plan de la présentation ● Silverpeas ○ Architecture ○ Installation ● Contexte du portage ○ JBoss 5 ○ JOnAS ● Démarche ● Mise en œuvre ● Problèmes et solutions 2
  3. Silverpeas ● Présentation ○ Plate-forme collaborative ○ Spécialisation ● par les utilisateurs ● orienter son utilisation 3
  4. Silverpeas ● Architecture ○ Application Web ○ Composants EJB 2.x ○ Messaging JMS ○ Accès base de données ● PostgreSQL ○ Composants intégrés ● JCR – JackRabbit ● JspWiki ● ... 4 JCR
  5. Silverpeas ● Déploiement mvn clean install ○ Scripts d'installation ./appBuilder.sh ./SilverpeasSettings.sh ● Basé sur Maven ./dbBuilder.sh ○ Archive standard ● EAR ○ Ressources déportées ● Répertoire $SILVERPEAS_HOME ○ Serveur d'applications ● JBoss 4.0.3 5
  6. Portage ● Besoins internes ● Modernisation des outils ○ JBoss 4 ● Distribution community ● Version 4.0.3 ● Mise à jour de certaines librairies ○ Migration vers JBoss 5 ● Distribution community ● Version 5.1.0 ● Utilisation des librairies standard 6
  7. Portage ● Besoins clients ○ S'adapter aux contextes des clients ○ Administration Suisse ● Migration de Borland ES vers Jonas ○ ... 7
  8. Démarche ● Installation standard ○ JBoss 4 ○ PostgreSQL ○ EAR ● Installation du serveur d'application ○ Déclaration des ressources ● Configuration de Silverpeas ○ Fichiers spécifiques dans l'EAR ○ Noms des ressources (properties) ● Déploiement ○ EAR 8
  9. Démarche ● Ressources ● Accessibles via JNDI ● Déclarée dans le serveur d'applications ○ JMS ● Queues ○ queue/notificationsQueue ○ queue/statisticsQueue ● ConnectionFactory ○ java:/XAConnectionFactory ○ Datasource ○ java:/Silverpeas 9
  10. Démarche ● Configuration EAR ○ Recherches des fichiers spécifiques ● War : jboss-web.xml ● Jar (EJB) : jboss.xml ○ Pour JBoss 5 ● Rien à faire ○ Pour Jonas ● Transformation en jonas-ejb-jar.xml 10
  11. Mise en œuvre ● JBoss 5 ○ Datasource ● Pas de changement de format ● silverpeas-ds.xml ○ JMS ● Format JBossMQ => JBoss Messaging ● silverpeas-destinations-service.xml <?xml version="1.0" encoding="UTF-8"?> <server> <mbean code="org.jboss.jms.server.destination.QueueService" name="jboss.messaging.destination:service=Queue,name=notificationsQueue" xmbean-dd="xmdesc/Queue-xmbean.xml"> <depends optional-attribute-name="ServerPeer"> jboss.messaging:service=ServerPeer</depends> <depends>jboss.messaging:service=PostOffice</depends> </mbean> ... </server> 11
  12. Mise en œuvre ● JOnAS ○ Datasource ● Déclaration conf/jonas.properties jonas.service.dbm.datasources HSQL1, Silverpeas ● Configuration conf/Silverpeas.properties datasource.name Silverpeas datasource.url jdbc:postgresql://localhost:5432/SilverpeasV5 datasource.classname org.postgresql.Driver datasource.username postgres datasource.password postgres datasource.mapper rdb.postgres 12
  13. Mise en œuvre ○ JMS ● joramAdmin.xml ... <Queue name="notificationsQueue"> <freeReader/> <freeWriter/> <jndi name="notificationsQueue" /> </Queue> <Queue name="statisticsQueue"> <freeReader/> <freeWriter/> <jndi name="statisticsQueue"/> </Queue> 13
  14. Mise en œuvre ○ Utilitaire jboss2jonas ● Uniquement avec JOnAS 4 ● Compatible avec JOnAS 5 (ou presque) for f in $SILVERPEAS_HOME/jar/silverpeas-jonas.ear/*.jar do echo Converting $f $JAVA_HOME/bin/jar xf $f META-INF/jboss.xml META-INF/ejb-jar.xml jboss2jonas --ejb-jar META-INF/ejb-jar.xml --jboss META-INF/jboss.xml > META-INF/jonas-ejb-jar.xml $JAVA_HOME/bin/jar uf $f META-INF/*.xml rm META-INF/*.xml done 14
  15. Mise en œuvre ○ Traduction des noms JNDI ● Pas de contexte java: dans JOnAS sed -i 's/java://' META-INF/jboss.xml Cd $SILVERPEAS_HOME/properties/com/stratelia/webactiv/util/ sed -i 's/java://' jndi.properties 15
  16. Problèmes et solutions ● JBoss 5 ○ Contrôle XML plus strict ● web.xml ○ Fichiers Spring ● Déplacer de /WEB-INF/ ● Avec 5 RC1 ○ Librairies incompatibles ● Avec 5 RC1 ○ Xerces ● Bug JBoss référencé 16
  17. Problèmes et solutions ● JOnAS 5 ○ jboss2jonas ● Svn : org.ow2.jonas.migration.jboss.Migrate ● Compilation et exécution avec un JDK 1.4 ● Ajout du XML namespace (sed) <jonas-ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.objectweb.org/jonas/ns" xsi:schemaLocation="http://www.objectweb.org/jonas/ns http://jonas.ow2.org/ns/jonas-ejb-jar_4_8.xsd"> … </jonas-ejb-jar> 17
  18. Problèmes et solutions ○ Nom des EJB ● ejb/Xxx n'est pas un bon id XML sed -i 's/ejb//ejb_/' META-INF/ejb-jar.xml sed -i 's/ejb//ejb_/' META-INF/jboss.xml 18
  19. Problèmes et solutions ○ Anomalie JOnAS / Hotspot ● Stubs EJB 2 java.lang.VerifyError: ... Stack size too large ● Démarrage avec JRockit ○ Option -Xverify:none ● Démarrage avec J9 ○ Version 6SR3 ou 6SR8 19
  20. Problèmes et solutions ○ Logging ● Référence circulaire SLF4J – JCL java.lang.StackOverflowError at sun.reflect.Reflection.getCallerClass(Native Method) at java.lang.ClassLoader.getCallerClassLoader(ClassLoader.java:1359) at java.lang.Class.getMethod(Class.java:1602) at org.apache.commons.logging.LogFactory.directGetContextClassLoader(LogFactory.java:825) at org.apache.commons.logging.LogFactory$1.run(LogFactory.java:791) at org.apache.commons.logging.LogFactory.getContextClassLoader(LogFactory.java:788) at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:383) at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:664) at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:243) at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155) at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:664) at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:243) at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155) at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:664) ... ● Gestion du classloader ○ conf/classloader-default-filtering.xml <class-loader-filtering xmlns="http://org.ow2.jonas.lib.loader.mapping"> <default-filters> <filter-name>org.apache.commons.digester.*</filter-name> <filter-name>org.slf4j.*</filter-name> </default-filters> </class-loader-filtering> 20
  21. Conclusion ● Problèmes rencontrés ○ EJB 2 ● Il faut les virer ! ● Travail en cours ○ JBoss 5 ● Intégration en standard pour Silverpeas 5.x (5.5 ?) ○ JOnAS 5 ● Problèmes de scripts JSP ● Lié à Tomcat 6 21
  22. Conclusion ● Remerciement ○ Emmanuel Hugonnet ● Assistance ● Séances de pair deploying ● Références ○ http://repository.silverpeas.org/ ○ http://blog.alexis-hassler.com/ ● Récit plus détaillé 22

×