cancel
Showing results for 
Search instead for 
Did you mean: 

Connection of Alfresco Repository through JCR

lakshya
Champ in-the-making
Champ in-the-making
Hello,
I am trying the following code :

public class LoginAlfresco {
      public static void main(String[] args) throws Exception {
      System.out.println("Initialising Repository…");
      ApplicationContext context = new ClassPathXmlApplicationContext("classpath:/alfresco/application-context.xml");
      Repository repository = (Repository)context.getBean("JCR.Repository");
      String[] keys =repository.getDescriptorKeys();      
      Session session=repository.login(new SimpleCredentials("admin","admin".toCharArray()));
      }
}

when I try to connect to alfresco repository, I am getting the following exception :
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'JCR.Repository' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:340)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:906)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:161)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:642)
at de.tarent.momeLearnClient.JCRTest.testGettingRepository(JCRTest.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)

I did not found either alfresco-jcr.jar or repository.jar to implement JCR API

Can anyone help me  regarding this.
3 REPLIES 3

rv_a_sharma
Champ in-the-making
Champ in-the-making
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'JCR.Repository' is defined

Have you been able to solve this problem. I am also facing the same problem .

My program is a simple java file.

Regards,
Ravi Sharma

lakshya
Champ in-the-making
Champ in-the-making
Sorry,
I didnt solve this problem yet..

wassim
Champ in-the-making
Champ in-the-making
hello,
I have the same problem, but I found the solution.

but in French :
1re étape : Installation de l'extension alfresco-rmi
Télécharger rmi-extension (extension-jcr-rmi-1.0.0-src.zip) à partir du lien suivant : http://forge.alfresco.com/frs/download.php/37/extension-jcr-rmi-1.0.0-src.zip.
Décompresser l’extension « rmi » zippée vers un dossier temporaire. 
-Copier le fichier extension-jcr-rmi /lib/jcr-rmi-1-impl-classes.jar dans le répertoire : <C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\lib>
-Copier le fichier extension-jcr-rmi/build/dist/extension-jcr-rmi.jar dans le répertoire : <C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\lib>
-Copier extension-jcr-rmi/source/web/jsp/jcrRmiTest.jsp dans le répertoire : <C:\Alfresco\tomcat\webapps\alfresco\jsp>
-Copier le contenu du répertoire extension-jcr-rmi/config/alfresco/extension dans le répertoire : <C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\extension>

2ème étape : Installation de l'extension extension-jcr-thread-bound
Télécharger extension-jcr-thread-bound (extension-jcr-thread-bound.zip) à partir du lien suivant : http://forge.alfresco.com/frs/download.php/284/extension-jcr-thread-bound.zip.
Décompresser l’extension « jcr-thread-bound » zippée vers un dossier temporaire. 
-Copier le jar extension-jcr-thread-bound/build/dist/extension-jcr-thread-bound.jar dans le répertoire : <C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\lib>
-Copier le fichier extension-jcr-thread-bound/config/alfresco/extension/thread-bound-jcr-context.xml dans le repertoire : <C:\Alfresco\tomcat\shared\classes\alfresco\extension>

3ème étape : Modification des fichiers
-Enlever / faire en commentaire la ligne suivante : (<import resource="classpath:alfresco/jcr-context.xml"/>) du fichier WEB-INF/classes/alfresco/extension/jcr-rmi-context.xml
<beans>
  <!– import resource="classpath:alfresco/jcr-context.xml" /–>
   .  
   .
   .
</bean>
</beans>

-Modifier le fichier jcr-rmi-context.xml pour faire pointer le bean javaContentRepositoryRmiBinding vers threadBoundJcrRepository
.
.
<property name="jcrRepository">
        <ref bean="threadBoundJcrRepository"/>
</property>
.
.

-Modifier le port dans le fichier WEB-INF/classes/alfresco/extension/jcr-rmi.properties pour configurer celui par défaut d'Alfresco
# ###############
# RMI JCR Configuration #
# ###############
rmi.jcr.binding.servername=localhost
rmi.jcr.binding.port=50500
rmi.jcr.binding.name=javaContentRepository
rmi.jcr.resources.path=/alfresco/extension/messages/jcr-rmi-messages.properties

4ème étape : Intégrer les bibliothèques (jar)
-Télécharger le fichier JAR jcr-1.0.jar à partir de : http://www.day.com/maven/jsr170/jars/jcr-1.0.jar   puis copier le fichier dans le répertoire : <C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\lib>

-Télécharger le fichier JAR jackrabbit-jcr-rmi-1.2.2.jar à partir  http://jackrabbit.apache.org/downloads.cgi et copier jackrabbit-jcr-rmi-1.2.2.jar dans le répertoire : <C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\lib>

5ème étape : Tester le JCR
-Après la configuration de rmiserver, on peut tester le JCR-RMI à partir de lien suivant : http://localhost:8080/alfresco/faces/jsp/jcrRmiTest.jsp


JCR RMI Test

RMI Registery Server Name :localhost
RMI Registery Server Name :localhost
Remote JCR reference binding name:javaContentRepository
Connection String://localhost:50500/javaContentRepository
Testing…
looking up remote reference at [//localhost:50500/javaContentRepository]
creating local adapter for remotereference [ServerRepository_Stub[UnicastRef [liveRef: [endpoint:[192.168.138.1:49474](remote),objID:[3ae101b1:11f22bf12f2:-7f70, 7979556240026627902]]]]]
logging in as admin admin to default workspace
looking up workspace root node
root node UUID [8dc9aabf-1008-4dd9-8bf5-69bce4dcfbd8]
logging out




For more informations:
http://wiki.alfresco.com/wiki/Introducing_the_Alfresco_Java_Content_Repository_API