directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <elecha...@apache.org>
Subject Re: Toward 2.0...
Date Wed, 18 Mar 2009 00:59:37 GMT

>
> The trouble with properties is that they are not always that good at 
> expressing hierarchies of concepts (something XML does well), and if 
> you accidently spell a property wrong, that property silently 
> vanishes, leaving the end user staring at the config for hours trying 
> to figure out why it isn't working as expected.
JSon is hierarchical, even if it does not have nameSpace (which is 
_bad_). So it's a pretty good alternative. Also one thing that make me 
crazy s that with Spring, you have no clue about which bean is going to 
be instanciated and we=hen. I mean, you have to put breakpoints all over 
the code, when you want to debug the initialization. Something you don't 
have to do when using a simple file you load. That is typically what 
make me want to through my computer through my office or my appartement. 
For instance, having such error messages is self-explanatory. Two 
bullets in the head, and you send the bills to the parents... (more to 
read at the end of the damn long Stack trace)

org.springframework.beans.factory.BeanCreationException: Error creating 
bean with name 'ldapService' defined in URL 
[file:/home/elecharny/apacheds/replication/apacheds/server-xml/target/classes/serverReplication.xml]:

Cannot create inner bean '(inner bean)' of type 
[org.apache.directory.server.ldap.replication.ReplicaPeerConfiguration] 
while setting bean property 'replicationSystem'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating 
bean with name '(inner bean)#5' defined in URL 
[file:/home/elecharny/apacheds/replication/apacheds/server-xml/target/classes/serverReplication.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 
[org.apache.directory.shared.ldap.name.LdapDN] for property 
'principalDN'; nested exception is java.lang.IllegalArgumentException: 
Original must not be null
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:230)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
    at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
    at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
    at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
    at 
org.apache.xbean.spring.context.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:149)
    at 
org.apache.xbean.spring.context.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:48)
    at 
org.apache.directory.server.SpringServerTest.testSpringServerReplication(SpringServerTest.java:125)
    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)
    at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
    at 
org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
    at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)
    at 
org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
    at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
    at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
    at 
org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
    at 
org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
    at 
org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
    at 
org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
    at 
org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
    at 
org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
    at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
    at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name '(inner bean)#5' defined in URL 
[file:/home/elecharny/apacheds/replication/apacheds/server-xml/target/classes/serverReplication.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 
[org.apache.directory.shared.ldap.name.LdapDN] for property 
'principalDN'; nested exception is java.lang.IllegalArgumentException: 
Original must not be null
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:219)
    ... 40 more
Caused by: org.springframework.beans.TypeMismatchException: Failed to 
convert property value of type [java.lang.String] to required type 
[org.apache.directory.shared.ldap.name.LdapDN] for property 
'principalDN'; nested exception is java.lang.IllegalArgumentException: 
Original must not be null
    at 
org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:391)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1288)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1249)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
    ... 44 more
Caused by: java.lang.IllegalArgumentException: Original must not be null
    at org.springframework.util.Assert.notNull(Assert.java:112)
    at 
org.springframework.core.MethodParameter.<init>(MethodParameter.java:133)
    at 
org.springframework.beans.BeanUtils.getWriteMethodParameter(BeanUtils.java:421)
    at 
org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:138)
    at 
org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:386)
    ... 48 more



Insane, isn't it ?

PS: I have changed the principalDN property to accept a String, with no 
luck. Spring+XBean is still fooled...

-- 
--
cordialement, regards,
Emmanuel L├ęcharny
www.iktek.com
directory.apache.org



Mime
View raw message