如何通过JCR API访问Alfresco存储库

如何通过JCR API访问Alfresco存储库,alfresco,jcr,Alfresco,Jcr,我试图通过以下链接通过JCR API和SpringFramework访问Alfresco存储库: IDE:eclipsegalileo 得到这个例外: 正在初始化存储库。。。 线程“main”org.springframework.beans.factory.BeanCreationException中出现异常:创建名为“propertyValueCache”的bean时出错,该bean在类路径资源[alfresco/cache context.xml]中定义:初始化bean失败;嵌套异常为o

我试图通过以下链接通过JCR API和SpringFramework访问Alfresco存储库:

IDE:eclipsegalileo
得到这个例外:
正在初始化存储库。。。
线程“main”org.springframework.beans.factory.BeanCreationException中出现异常:创建名为“propertyValueCache”的bean时出错,该bean在类路径资源[alfresco/cache context.xml]中定义:初始化bean失败;嵌套异常为org.springframework.beans.typemischException:未能将类型为“java.lang.String”的属性值转换为属性“disableSharedCache”所需的类型“boolean”;嵌套异常为java.lang.IllegalArgumentException:无效的布尔值[${system.cache.disableImmutableSharedCaches}]
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
位于org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:580)
位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:139)
位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:83)
位于com.tcs.alfresco.WikiExample.main(WikiExample.java:20)
原因:org.springframework.beans.typemischException:未能将类型为“java.lang.String”的属性值转换为属性“disableSharedCache”所需的类型“boolean”;嵌套异常为java.lang.IllegalArgumentException:无效的布尔值[${system.cache.disableImmutableSharedCaches}]
在org.springframework.beans.BeanWrapperImpl.convertifRequired上(BeanWrapperImpl.java:467)
位于org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:499)
位于org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:493)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1371)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1330)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
... 还有11个
原因:java.lang.IllegalArgumentException:无效的布尔值[${system.cache.disableImmutableSharedCaches}]
位于org.springframework.beans.propertyeditors.CustomBooleanEditor.setAsText(CustomBooleanEditor.java:124)
位于org.springframework.beans.TypeConverterDelegate.doconvertextValue(TypeConverterDelegate.java:416)
位于org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:388)
在org.springframework.beans.TypeConverterDelegate.ConvertifEssential上(TypeConverterDelegate.java:157)
位于org.springframework.beans.BeanWrapperImpl.convertifNequired(BeanWrapperImpl.java:447)
... 还有17个

我也试过AlfrescoSDK。但是得到同样的错误。

我的alfresco副本是正确的,因为我能够通过CMIS连接到存储库。请帮忙

谢谢
Rishi

您确定对这两个类使用相同的类路径吗?该异常表明您可能缺少JCR设置中的一些上下文xml文件或属性文件。您正在尝试从文件夹Alfrec ClassPathXmlApplicationContext(“classpath:Alfrec/application context.xml”)加载applicationContext.xml文件。它在类路径上可用吗?@Gagravarr:我也有这个疑问,因此,我删除了旧版本的Alfresco,安装了一个新版本,并再次尝试了上述代码,但问题仍然存在#米特帕托利亚:是的,它在类路径中。我已经检查过不止一次了。你的
alfresco global.properties
文件之类的东西呢?当作为JCR运行时,它肯定在你的类路径上吗?对JCR的支持似乎已被放弃,因为它不再列在列表中。
System.out.println("Initialising Repository...");
    ApplicationContext context = new ClassPathXmlApplicationContext("classpath:alfresc/application-context.xml");
    //ApplicationContext context = ApplicationContextHelper.getApplicationContext(); 

    Repository repository = (Repository)context.getBean("JCR.Repository");

             // display information about the repository
     System.out.println("Repository Description...");
             String  [] keys = repository.getDescriptorKeys();
             for (String   key : keys)
             {
                 String   value = repository.getDescriptor(key);
                 System.out.println(" " + key + " = " + value);
         }
 Initialising Repository...
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'propertyValueCache' defined in class path resource [alfresco/cache-context.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'boolean' for property 'disableSharedCache'; nested exception is java.lang.IllegalArgumentException: Invalid boolean value [${system.cache.disableImmutableSharedCaches}]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at com.tcs.alfresco.WikiExample.main(WikiExample.java:20)
Caused by: org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'boolean' for property 'disableSharedCache'; nested exception is java.lang.IllegalArgumentException: Invalid boolean value [${system.cache.disableImmutableSharedCaches}]
    at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:467)
    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:499)
    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:493)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1371)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1330)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
    ... 11 more
Caused by: java.lang.IllegalArgumentException: Invalid boolean value [${system.cache.disableImmutableSharedCaches}]
    at org.springframework.beans.propertyeditors.CustomBooleanEditor.setAsText(CustomBooleanEditor.java:124)
    at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:416)
    at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:388)
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:157)
    at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:447)
    ... 17 more