기타

org.springframework.beans.factory.BeanCreationException : Error creating bean with name 'queryLoader'

  1. checklist
    • WAS : IBM WebSphere 8.5.x
    • queryLoader가 'rootPath' property 를 갖는가?
      <bean id="queryLoader" class="com.poscoict.glueframework.dao.manager.GlueQueryLoader">
          <property name="rootPath" value="query" />
      </bean>
      
      Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'queryManager' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'queryLoader' while setting bean property 'queryLoader'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'queryLoader' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org.jboss.vfs.VirtualFile
          at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:326) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1417) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1158) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:320) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          ... 61 common frames omitted
      Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'queryLoader' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org.jboss.vfs.VirtualFile
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:529) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:320) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          ... 71 common frames omitted
      Caused by: java.lang.NoClassDefFoundError: org.jboss.vfs.VirtualFile
          at java.lang.Class.getDeclaredMethodsImpl(Native Method) ~[na:1.6.0]
          at java.lang.Class.getDeclaredMethods(Class.java:809) ~[na:1.6.0]
          at java.beans.StandardBeanInfo.introspectMethods(StandardBeanInfo.java:677) ~[na:na]
          at java.beans.StandardBeanInfo.introspectMethods(StandardBeanInfo.java:664) ~[na:na]
          at java.beans.StandardBeanInfo.<init>(StandardBeanInfo.java:153) ~[na:na]
          at java.beans.Introspector.getBeanInfoImpl(Introspector.java:277) ~[na:na]
          at java.beans.Introspector.getBeanInfoImplAndInit(Introspector.java:400) ~[na:na]
          at java.beans.Introspector.getBeanInfo(Introspector.java:176) ~[na:na]
          at org.springframework.beans.CachedIntrospectionResults.<init>(CachedIntrospectionResults.java:277) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:186) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.BeanWrapperImpl.getCachedIntrospectionResults(BeanWrapperImpl.java:321) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.BeanWrapperImpl.getPropertyDescriptorInternal(BeanWrapperImpl.java:351) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.BeanWrapperImpl.isWritableProperty(BeanWrapperImpl.java:427) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1419) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1158) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) ~[spring-beans-3.2.8.RELEASE.jar:3.2.8.RELEASE]
          ... 77 common frames omitted
      Caused by: java.lang.ClassNotFoundException: org.jboss.vfs.VirtualFile
          at java.net.URLClassLoader.findClass(URLClassLoader.java:434) ~[na:1.6.0]
          at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:240) ~[bootstrap.jar:WAS855.SERV1 [cf041444.02]]
          at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:703) ~[na:1.6.0]
          at java.lang.ClassLoader.loadClass(ClassLoader.java:682) ~[na:1.6.0]
          at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:133) ~[bootstrap.jar:WAS855.SERV1 [cf041444.02]]
          at java.lang.ClassLoader.loadClass(ClassLoader.java:665) ~[na:1.6.0]
          at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:62) ~[com.ibm.ws.runtime.jar:WAS855.SERV1 [cf041444.02]]
          at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:58) ~[com.ibm.ws.runtime.jar:WAS855.SERV1 [cf041444.02]]
          at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:585) ~[com.ibm.ws.runtime.jar:WAS855.SERV1 [cf041444.02]]
          at java.lang.ClassLoader.loadClass(ClassLoader.java:665) ~[na:1.6.0]
          at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:585) ~[com.ibm.ws.runtime.jar:WAS855.SERV1 [cf041444.02]]
          at java.lang.ClassLoader.loadClass(ClassLoader.java:665) ~[na:1.6.0]
          ... 93 common frames omitted
      
  2. try it
    • 유형 1 : GlueQueryLoader의 속성(rootPath 등의 property)를 명시적으로 설정할 필요가 없는 경우 다음과 같이 수정하시기 바랍니다.
      <bean id="queryLoader" class="com.poscoict.glueframework.dao.manager.GlueQueryLoader"/>
      
    • 유형 2 : rootPath 를 default 가 아닌 다른 값을 사용하고자 하는 경우

      jboss-vfs 라이브러리를 추가해주시기 바랍니다. (Shared library references 사용 가능)

      jboss-vfs-*.jar 는 glue-core-*.jar 가 같은 레벨로 위치하도록 하십시요.