cancel
Showing results for 
Search instead for 
Did you mean: 

Accès par RMI : ClassNotFoundException: SimpleCredentials

marinew
Champ in-the-making
Champ in-the-making
Bonjour,

Nous avons une application Web, hébergée dans le même Tomcat qu'Alfresco.
Cette application accède à Alfresco via RMI, pour lire /modifier des documents.
Tout fonctionne très bien depuis plus de 2 ans.
Et depuis hier, sans que personne n'ait modifié quoique ce soit, tout tentative d'accès à Alfresco par l'application métier retourne l'exception suivante :

   java.lang.ClassNotFoundException: javax.jcr.SimpleCredentials (no security manager: RMI class loader disabled)
   at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:371)
   at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:165)
   at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
   at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
   at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197)
   at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544)
   at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
   at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290)
   at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:279)
   at sun.rmi.transport.Transport$1.run(Transport.java:153)
   at java.security.AccessController.doPrivileged(Native Method)
   at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
   at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
   at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
   at java.lang.Thread.run(Thread.java:595)

Précision : A l'époque du développement, j'obtenais une erreur de façon aléatoire, très ressemblanteà celle-ci mais concernant la classe "net.sf.acegisecurity.AuthenticationCredentialsNotFoundException" au lieu de "javax.jcr.SimpleCredentials".
Après de longues recherches, j'avais conclu que ce problème était lié au bug Alfresco AR-706 (dont le lien ne fonctionne plus aujourd'hui : http://issues.alfresco.com/jira/browse/AR-706).
J'avais trouvé une solution de contournement avec le projet "jcr-rmi" : http://forge.alfresco.com/projects/jcr-rmi/
Que j'avais mise en place en suivant les instructions suivantes : http://forge.alfresco.com/frs/shownotes.php?group_id=21&release_id=298

Ce problème est vraiment bloquant, donc j'apprécierai vraiment si quelque pouvait me donner des pistes de résolution, ou des éléments me permettant de mieux cerner l'origine du problème.
Merci d'avance.
Marine
16 REPLIES 16

marinew
Champ in-the-making
Champ in-the-making
Le soucis, c'est que pour faire un éventuel ménage de documents dans Alfresco, il faut que je puisse le lancer. Et pour pouvoir lancer Alfresco, il faut que je réussisse à réduire le nombre de dossiers, ou à l'empêcher d'essayer d'en créer de nouveaux au démarrage.
C'est le serpent qui se mord la queue…

Je me demandais si je ne pouvais pas désactiver temporairement l'indexation ou je ne sais quoi, pour pouvoir démarrer Alfresco, et ensuite y supprimer des docs via l'interface Web…

jeanjot
Confirmed Champ
Confirmed Champ
Une solution, peut-être, pour augmenter la taille de votre disque.

faire du LVM : http://doc.ubuntu-fr.org/lvm

marinew
Champ in-the-making
Champ in-the-making
Merci. En fait, il reste de l'espace disque, pas de soucis de ce côté là.
Mais par contre, c'est cette limitation de 32000 sous-dossiers en ext3 qui me bloque, et le fait que je ne puisse pas passer en ext3 car l'OS ne le supporte pas…

Ce dossier /alf_data/lucene-indexes/workspace/SpacesStore est visiblement utilisé par Lucene, qui fait de l'indexation sur les documents, d'après ce que j'ai compris.
Et je viens de tomber sur un bug, qui pourrait expliquer les symptômes que je rencontre :
https://issues.alfresco.com/jira/browse/ALFCOM-3683?page=com.atlassian.jira.plugin.system.issuetabpa...

A la lecture de certains posts, il semble qu'on puisse supprimer le contenu des indexes Lucene en vue de provoquer leur recréation (http://jianmingli.com/wp/?p=53). Peut-être que ça pourrait résoudre mon problème…

Quelqu'un peut-il me confirmer que je peux supprimer tout le contenu du dossier /alf_data/lucene-indexes/ sans risque ?
Et que je devrais ensuite redémarrer Alfresco avec le paramètre index.recovery.mode à "FULL" ?

Merci encore à vous !

marinew
Champ in-the-making
Champ in-the-making
Ca y est, j'ai réussi à remettre les choses d'aplomb en provoquant le recalcul complet es index :
- Arrêt Tomcat
- Renommage du dossier alf_data/lucene-indexes (=suppression en gardant une sauvegarde)
- Modification du fichier tomcat/webapps/alfresco/WEB-INF/classes/alfresco/repository.properties pour avoir :
  index.recovery.mode=FULL
- Démarrage Tomcat  => Applis indisponibles pendant le calcul des index. Durée : 3h30 environ
- Test appli : OK
- Arrêt Tomcat
- Modification du fichier tomcat/webapps/alfresco/WEB-INF/classes/alfresco/repository.properties pour le remettre à :
  index.recovery.mode=VALIDATE
- Démarrage Tomcat
- Test appli : OK

Merci encore JeanJot, pour votre aide !

jeanjot
Confirmed Champ
Confirmed Champ
De rien, content de voir que tout est bien reparti.

Attention tout de même, il n'y a aucune raison que cela ne recommence pas à nouveau dans quelque temps.

Peut-être serait-il temps de prévoir une migration sur un nouveau serveur …

Bonne fête de fin d'année 2010.

marinew
Champ in-the-making
Champ in-the-making
Attention tout de même, il n'y a aucune raison que cela ne recommence pas à nouveau dans quelque temps.

Oui, je m'étais fait la même réflexion…
A surveiller donc…

Bonnes fêtes de fin d'année également !
Marine

jayjayecl
Confirmed Champ
Confirmed Champ
De rien, content de voir que tout est bien reparti.

Attention tout de même, il n'y a aucune raison que cela ne recommence pas à nouveau dans quelque temps.

Peut-être serait-il temps de prévoir une migration sur un nouveau serveur …

Bonne fête de fin d'année 2010.

Bonjour, juste deux précisions à ajouter :
- en effet, migrer sur un OS plus récent est sans doute judicieux, mais migrer de version d'Alfresco est sans aucun doute également une option à sélectionner :
http://wiki.alfresco.com/wiki/General_Upgrade_Process
- le ticket que vous mentionnez (http://issues.alfresco.com/jira/browse/ALFCOM-3683) est en effet probablement la cause de votre souci si vous avez réalisé des développements spécifiques (java ou script). Voir d'ailleurs ici :
http://wiki.alfresco.com/wiki/Search#try...finally_pattern

Bonne chance !
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.