I've configured a spring integration gateway with a service activator backed by a threadpool.
Everything works fine, till I try to add my own error channel.
Spring begins to complain that it cannot find a bean by the name of the error channel.
Here is my xml config:
<int:gateway service-interface="Messaging.SendMessageToDeviceGateWay"
error-channel="send_message_to_device_error_channel"
default-request-channel="send_message_to_device_channel"
id="send_message_to_device_gateway">
</int:gateway>
<int:channel id="send_message_to_device_channel">
<int:queue message-store="redisMessageStore" />
</int:channel>
<bean id="sendMessageToDeviceServiceBeanId" class="Messaging.SendMessageToDeviceService" />
<int:service-activator input-channel="send_message_to_device_channel"
ref="sendMessageToDeviceServiceBeanId" method="send_message">
<int:poller fixed-rate="500" time-unit="MILLISECONDS"
task-executor="send_message_to_device_task_executor" receive-timeout="0" />
</int:service-activator>
<bean id="sendMessageToDeviceErrorHandlerBeanId"
class="Messaging.SendMessageToDeviceErrorHandler" />
<int:service-activator input-channel = "send_message_to_device_error_channel"
ref="sendMessageToDeviceErrorHandlerBeanId" method="handle_error">
</int:service-activator>
The error I am seeing is :
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'send_message_to_device_gateway': Cannot resolve reference to bean 'send_message_to_device_error_channel' while setting bean property 'errorChannel'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'send_message_to_device_error_channel' is defined
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1469)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1127)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1051)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:949)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:533)
... 24 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'send_message_to_device_error_channel' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:694)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1168)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:281)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)
... 37 more
Why is it looking for a bean by that name?
Thanks in advance,
Richard.
That's correct: any bean must be presented in the application context.
Even if you use a default errorChannel, it is populated to the application context by the Spring Integration infrastructure.
So, you must provide <channel id="send_message_to_device_error_channel"/> anyway.
Related
I have a spring web application that uses Tomcat.I am trying to migrate it to jBoss/Wildfly application server. When trying to deploy it, I get these errors:
Cannot upload deployment: {"WFLYCTL0080: Failed services" => {"jboss.undertow.deployment.default-server.default-host./revomon-tracking-web-html" => "org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host./revomon-tracking-web-html: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'trackAlarmDao' defined in VFS resource [\"/content/revomon-tracking-web-html.war/WEB-INF/lib/revomon-tracking-orm-1.1.0-SNAPSHOT.jar/com/revomon/orm/core/tracking/dao/TrackAlarmDao.class\"]: Unsatisfied dependency expressed through constructor argument with index 0 of type [org.hibernate.SessionFactory]: Error creating bean with name 'sessionFactory' defined in VFS resource [\"/content/revomon-tracking-web-html.war/WEB-INF/classes/context/application-context-repository.xml\"]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: jdbc/revomon_tracking -- service jboss.naming.context.java.jdbc.revomon_tracking; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in VFS resource [\"/content/revomon-tracking-web-html.war/WEB-INF/classes/context/application-context-repository.xml\"]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: jdbc/revomon_tracking -- service jboss.naming.context.java.jdbc.revomon_tracking Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: jdbc/revomon_tracking -- service jboss.naming.context.java.jdbc.revomon_tracking Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourcePosition': Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: jdbc/tracking_position -- service jboss.naming.context.java.jdbc.tracking_position Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'trackAlarmDao' defined in VFS resource [\"/content/revomon-tracking-web-html.war/WEB-INF/lib/revomon-tracking-orm-1.1.0-SNAPSHOT.jar/com/revomon/orm/core/tracking/dao/TrackAlarmDao.class\"]: Unsatisfied dependency expressed through constructor argument with index 0 of type [org.hibernate.SessionFactory]: Error creating bean with name 'sessionFactory' defined in VFS resource [\"/content/revomon-tracking-web-html.war/WEB-INF/classes/context/application-context-repository.xml\"]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: jdbc/revomon_tracking -- service jboss.naming.context.java.jdbc.revomon_tracking; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in VFS resource [\"/content/revomon-tracking-web-html.war/WEB-INF/classes/context/application-context-repository.xml\"]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: jdbc/revomon_tracking -- service jboss.naming.context.java.jdbc.revomon_tracking Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: jdbc/revomon_tracking -- service jboss.naming.context.java.jdbc.revomon_tracking Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourcePosition': Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: jdbc/tracking_position -- service jboss.naming.context.java.jdbc.tracking_position Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in VFS resource [\"/content/revomon-tracking-web-html.war/WEB-INF/classes/context/application-context-repository.xml\"]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: jdbc/revomon_tracking -- service jboss.naming.context.java.jdbc.revomon_tracking Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: jdbc/revomon_tracking -- service jboss.naming.context.java.jdbc.revomon_tracking Caused by: javax.naming.NameNotFoundException: jdbc/revomon_tracking -- service jboss.naming.context.java.jdbc.revomon_tracking"},"WFLYCTL0412: Required services that are not installed:" => ["jboss.undertow.deployment.default-server.default-host./revomon-tracking-web-html"],"WFLYCTL0180: Services with missing/unavailable dependencies" => undefined}
Please any suggestions how to fix it?
I have a simple spring application that use
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
My other dependencies are:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-oauth2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
I'have created a dummy controller:
#RestController
public class Controller {
#GetMapping("/")
String get(){
return "HELLO";
}
}
When I start the app I have strange error:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$Enable WebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
It's seems that I have a conflict with spring-webmvc and webflux.
I want to be reactive and webmvc do not play well with spring reactive based on what I've read, So I've exclude spring-web-starter, but then I have...
org.springframework.context.ApplicationContextException: Unable to start reactive web server; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'httpHandler' defined in class path resource [org/springframework/boot/autoconfigure/web/reactive/HttpHandlerAutoConfiguration$AnnotationConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.http.server.reactive.HttpHandler]: Factory method 'httpHandler' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'webHandler' defined in class path resource [org/springframework/boot/autoconfigure/web/reactive/WebFluxAnnotationAutoConfiguration$EnableWebFluxConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/reactive/WebFluxAnnotationAutoConfiguration$EnableWebFluxConfiguration.class]: Invocation of init method failed; nested exception is java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
What is needed to make spring oauth2 works with spring-webflux ?
for info I am using snapshot for everything.
Thanks in advance
This is not supported at the moment (neither is the reactive bits of Spring Security).
Initially in our project we were using spring 3 + hibernate 3
Recently it has been decided to upgrade 3rd party jars, as part of that spring upgraded to 4 but not hibernate (still hibernate 3 is maintained).
Now we have not changed any code for spring 4 upgrade and when we execute project LocalContainerEntityManagerFactoryBean injection is failing. I have given context file declaration & error stack trace in below. Now the question is how can I make existing project work on spring 4 with out upgrading hibernate.
With Spring ORM 4.1.6 LocalContainerEntityManagerFactoryBean is trying to load JPA 2.0 specific hibernate imports (that is hibernate 4 jar classes) and failing.
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml"/>
<property name="persistenceUnitName" value="casp-portal"/>
</bean>
<!-- Transaction manager for a single JPA EntityManagerFactory (alternative to JTA -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<!-- enable the configuration of transactional behavior based on annotations -->
<tx:annotation-driven transaction-manager="transactionManager"/>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
Error Stack trace
Caused by: org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'entityManagerFactory' defined in class
path resource [applicationContext-securityEJB-DBtest.xml]:
Post-processing failed of bean type [class
org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean]
failed; nested exception is java.lang.IllegalStateException: Failed to
introspect bean class
[org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean]
for persistence metadata: could not find class that it depends on at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:936)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:956)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:747)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
at
org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:139)
at
org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:93)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606) at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) at
org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) at
org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at
org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) at
org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) ...
11 more Caused by: java.lang.IllegalStateException: Failed to
introspect bean class
[org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean]
for persistence metadata: could not find class that it depends on at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:396)
at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:333)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:931)
... 44 more Caused by: java.lang.NoClassDefFoundError:
javax/persistence/ValidationMode at
java.lang.Class.getDeclaredMethods0(Native Method) at
java.lang.Class.privateGetDeclaredMethods(Class.java:2615) at
java.lang.Class.getDeclaredMethods(Class.java:1860) at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.buildPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:420)
at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:392)
... 46 more Caused by: java.lang.ClassNotFoundException:
javax.persistence.ValidationMode at
java.net.URLClassLoader$1.run(URLClassLoader.java:366) at
java.net.URLClassLoader$1.run(URLClassLoader.java:355) at
java.security.AccessController.doPrivileged(Native Method) at
java.net.URLClassLoader.findClass(URLClassLoader.java:354) at
java.lang.ClassLoader.loadClass(ClassLoader.java:425) at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at
java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 51 more
Technologies used currently in project: Hibernate 3 + with recent tech stack upgrade Spring got changed to 4.1 version. Spring 4.1 is forces to use JPA 2.0, at the same time it does backward support, meaning it gives JPA 1.0 supports, see below description taken from Spring site.
Java EE version 6 or above is now considered the baseline for Spring
Framework 4, with the JPA 2.0 and Servlet 3.0 specifications being of
particular relevance. In order to remain compatible with Google App
Engine and older application servers, it is possible to deploy a
Spring 4 application into a Servlet 2.5 environment. However, Servlet
3.0+ is strongly recommended and a prerequisite in Spring’s test and mock packages for test setups in development environments.
Actual Issue: jUnit test cases are failing during below highlighted bean injection time. LocalContainerEntityManagerFactoryBean which is extending Spring-ORM classes is trying to load JPA 2.0 specific hibernate imports and failing.
<bean id="entityManagerFactory"
class="com.abc.persist.LocalContainerEntityManagerFactoryBean">
<property name="persistenceXmlLocation" value="classpath:META-INF/persistence-security.xml"/>
<property name="persistenceUnitName" value="casp-portal"/>
<property name="jpaPropertyMap">
<map>
<entry key="javax.persistence.sharedCache.mode" value="none" />
</map>
</property>
</bean>
<!-- Transaction manager for a single JPA EntityManagerFactory (alternative to JTA -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<!-- enable the configuration of transactional behavior based on annotations -->
<tx:annotation-driven transaction-manager="transactionManager"/>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
Solutions:
Option I: Keep the old version of Spring-ORM to make it work as is [This is what we currently doing as a work around].
Option II: Copy 3,4 spring-orm java classes into our project and tweak the spring classes code according to our needs[I am planning to implement this way].
Option III: This is in research, trying to find another alternative way to inject entityManager.
I have a problem to deploy my apps on a weblogic server.
I try to add spring 3 MVC on a "struts 2" project, but when I specified the component-scan I got that error:
<Warning> <HTTP> <wks000fq> <AdminServer> <[ACTIVE] ExecuteThread: '42' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1351179993124> <BEA-101162> <User defined listener org.springframework.web.context.ContextLoaderListener failed:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:D:/Projets/XXX/ZZZ/servers/AdminServer/tmp/_WL_user/YYY/x8a4s2/war/WEB-INF/lib/YYY-pres.jar!/fcdq/epepar/WWW/controleur/cdcais/AbstractActionWebET.class]; nested exception is java.lang.AbstractMethodError: org.springframework.core.type.classreading.AnnotationMetadataReadingVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:237)
I don't know what to do. I checked the class, I changed it with a empty class and the problem doesn't come from the class.
i have a problem, i generated a build jar of other project, because i want to use its methods, then i imported this library in my project without never problem, well i used a MVC, in the controller´s name is java.java and it is here when i imported the new library and i used, then i run project, this is a error message,
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMap' defined in ServletContext resource [/WEB-INF/springapp-servlet.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'welcome' defined in ServletContext resource [/WEB-INF/springapp-servlet.xml]: Cannot resolve reference to bean 'catalogFacadeTarget' while setting bean property 'catalogFacadeImpl'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'catalogFacadeTarget' defined in ServletContext resource [/WEB-INF/springapp-servlet.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: jxl/read/biff/BiffException
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'welcome' defined in ServletContext resource [/WEB-INF/springapp-servlet.xml]: Cannot resolve reference to bean 'catalogFacadeTarget' while setting bean property 'catalogFacadeImpl'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'catalogFacadeTarget' defined in ServletContext resource [/WEB-INF/springapp-servlet.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: jxl/read/biff/BiffException
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'catalogFacadeTarget' defined in ServletContext resource [/WEB-INF/springapp-servlet.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: jxl/read/biff/BiffException
Caused by: java.lang.NoClassDefFoundError: jxl/read/biff/BiffException
It says, class jxl.read.biff.BiffException is not found. You need to add the jar file that contains jxl.read.biff.BiffException class to your projects classpath.
You can obtain the jar file from findjar.com