|
From: Ken K. <kk...@kk...> - 2003-06-13 14:44:26
|
Juergen,
Having just recompiled Spring, I have a new problem that wasn't there
before the renaming of ControllerServlet to DispatcherServlet.
In my applicationContext.xml, I define 4 beans representing the data
provider ("dataSource", "incrementer", and "dao") and the main business
object, "clinic".
Several of my form beans defined in petclinic-servlet.xml reference the
"clinic" bean. Now, on startup, I get a SAXParseException because the
"clinic" bean cannot be found. Apparently I need to do something extra
now to get "clinic" to be recognized. Before the recent changes, this
was not a problem. If I move all 4 beans to petclinic-servlet.xml, it
works fine but I really don't want to do this. The log output follows:
2003-06-13 09:21:13,092 INFO [com.interface21.web.context.ContextLoader]
- <Loading root WebApplicationContext: using context class
'com.interface21.web.context.support.XmlWebApplicationContext'>
2003-06-13 09:21:13,102 INFO
[com.interface21.web.context.support.XmlWebApplicationContext] - <Using
config location '/WEB-INF/applicationContext.xml'>
2003-06-13 09:21:13,152 INFO
[com.interface21.beans.factory.xml.XmlBeanFactory] - <Loading
XmlBeanFactory from InputStream [java.io.ByteArrayInputStream@110769b]>
2003-06-13 09:21:13,342 INFO
[com.interface21.beans.factory.xml.XmlBeanFactory] - <Cached shared
instance of Singleton bean 'clinicDAO'>
2003-06-13 09:21:13,392 INFO
[com.interface21.beans.CachedIntrospectionResults] - <Getting BeanInfo
for class class petclinic.dao.ClinicJdbcDAO>
2003-06-13 09:21:13,422 INFO
[com.interface21.beans.factory.xml.XmlBeanFactory] - <Cached shared
instance of Singleton bean 'dataSource'>
2003-06-13 09:21:13,422 INFO
[com.interface21.beans.CachedIntrospectionResults] - <Getting BeanInfo
for class class com.interface21.jndi.JndiObjectFactoryBean>
2003-06-13 09:21:13,532 INFO [petclinic.dao.ClinicJdbcDAO$AllVetsQuery]
- <Compiled OK>
2003-06-13 09:21:13,532 INFO [petclinic.dao.ClinicJdbcDAO$TypesQuery] -
<Compiled OK>
2003-06-13 09:21:13,532 INFO
[petclinic.dao.ClinicJdbcDAO$SpecialtiesQuery] - <Compiled OK>
2003-06-13 09:21:13,542 INFO
[petclinic.dao.ClinicJdbcDAO$OwnersByNameQuery] - <Compiled OK>
2003-06-13 09:21:13,542 INFO [petclinic.dao.ClinicJdbcDAO$OwnerQuery] -
<Compiled OK>
2003-06-13 09:21:13,542 INFO
[petclinic.dao.ClinicJdbcDAO$PetsByOwnerQuery] - <Compiled OK>
2003-06-13 09:21:13,542 INFO [petclinic.dao.ClinicJdbcDAO$VisitsQuery] -
<Compiled OK>
2003-06-13 09:21:13,542 INFO
[petclinic.dao.ClinicJdbcDAO$VetSpecialtiesQuery] - <Compiled OK>
2003-06-13 09:21:13,552 INFO [petclinic.dao.ClinicJdbcDAO$OwnerInsert] -
<Compiled OK>
2003-06-13 09:21:13,552 INFO [petclinic.dao.ClinicJdbcDAO$PetInsert] -
<Compiled OK>
2003-06-13 09:21:13,552 INFO [petclinic.dao.ClinicJdbcDAO$VisitInsert] -
<Compiled OK>
2003-06-13 09:21:13,552 INFO [petclinic.dao.ClinicJdbcDAO$OwnerUpdate] -
<Compiled OK>
2003-06-13 09:21:13,552 INFO
[com.interface21.beans.factory.xml.XmlBeanFactory] - <Cached shared
instance of Singleton bean 'messageSource'>
2003-06-13 09:21:13,552 INFO
[com.interface21.beans.CachedIntrospectionResults] - <Getting BeanInfo
for class class com.interface21.context.support.ResourceBundleMessageSource>
2003-06-13 09:21:13,572 INFO
[com.interface21.beans.factory.xml.XmlBeanFactory] - <Cached shared
instance of Singleton bean 'clinic'>
2003-06-13 09:21:13,572 INFO
[com.interface21.beans.CachedIntrospectionResults] - <Getting BeanInfo
for class class petclinic.ClinicImpl>
2003-06-13 09:21:13,613 INFO [com.interface21.jdbc.core.JdbcTemplate] -
<Executing SQL query using PreparedStatement:
[PreparedStatementCreatorFactory.PreparedStatementCreatorImpl:
sql={SELECT id,first_name,last_name FROM vets ORDER BY
last_name,first_name}: params={}]>
2003-06-13 09:21:13,643 INFO [com.interface21.jdbc.core.JdbcTemplate] -
<Executing SQL query using PreparedStatement:
[PreparedStatementCreatorFactory.PreparedStatementCreatorImpl:
sql={SELECT id,name FROM specialties}: params={}]>
2003-06-13 09:21:13,643 INFO [com.interface21.jdbc.core.JdbcTemplate] -
<Executing SQL query using PreparedStatement:
[PreparedStatementCreatorFactory.PreparedStatementCreatorImpl:
sql={SELECT specialty_id FROM vet_specialties WHERE vet_id=?}: params={1}]>
2003-06-13 09:21:13,643 INFO [com.interface21.jdbc.core.JdbcTemplate] -
<Executing SQL query using PreparedStatement:
[PreparedStatementCreatorFactory.PreparedStatementCreatorImpl:
sql={SELECT specialty_id FROM vet_specialties WHERE vet_id=?}: params={3}]>
2003-06-13 09:21:13,653 INFO [com.interface21.jdbc.core.JdbcTemplate] -
<Executing SQL query using PreparedStatement:
[PreparedStatementCreatorFactory.PreparedStatementCreatorImpl:
sql={SELECT specialty_id FROM vet_specialties WHERE vet_id=?}: params={6}]>
2003-06-13 09:21:13,653 INFO [com.interface21.jdbc.core.JdbcTemplate] -
<Executing SQL query using PreparedStatement:
[PreparedStatementCreatorFactory.PreparedStatementCreatorImpl:
sql={SELECT specialty_id FROM vet_specialties WHERE vet_id=?}: params={2}]>
2003-06-13 09:21:13,653 INFO [com.interface21.jdbc.core.JdbcTemplate] -
<Executing SQL query using PreparedStatement:
[PreparedStatementCreatorFactory.PreparedStatementCreatorImpl:
sql={SELECT specialty_id FROM vet_specialties WHERE vet_id=?}: params={4}]>
2003-06-13 09:21:13,653 INFO [com.interface21.jdbc.core.JdbcTemplate] -
<Executing SQL query using PreparedStatement:
[PreparedStatementCreatorFactory.PreparedStatementCreatorImpl:
sql={SELECT specialty_id FROM vet_specialties WHERE vet_id=?}: params={5}]>
2003-06-13 09:21:13,663 INFO [com.interface21.jdbc.core.JdbcTemplate] -
<Executing SQL query using PreparedStatement:
[PreparedStatementCreatorFactory.PreparedStatementCreatorImpl:
sql={SELECT id,name FROM types ORDER BY name}: params={}]>
2003-06-13 09:21:13,663 INFO
[com.interface21.web.context.support.XmlWebApplicationContext] -
<BeanFactory for application context is [class
com.interface21.beans.factory.xml.XmlBeanFactory: defined beans
[clinicDAO,dataSource,messageSource,clinic,incrementer]]>
2003-06-13 09:21:13,663 INFO
[com.interface21.web.context.support.XmlWebApplicationContext] - <5
beans defined in ApplicationContext: Root WebApplicationContext>
2003-06-13 09:21:13,663 INFO
[com.interface21.web.context.support.XmlWebApplicationContext] - <No
options bean ("contextOptions") found: using default>
2003-06-13 09:21:13,673 INFO
[com.interface21.web.context.support.XmlWebApplicationContext] -
<Refreshing listeners>
2003-06-13 09:21:13,673 INFO
[com.interface21.web.context.support.XmlWebApplicationContext] -
<Configuring singleton beans in context>
2003-06-13 09:21:13,673 INFO
[com.interface21.beans.CachedIntrospectionResults] - <Getting BeanInfo
for class class com.interface21.jdbc.core.support.HsqlMaxValueIncrementer>
2003-06-13 09:21:13,703 INFO
[com.interface21.web.context.support.WebApplicationContextUtils] -
<Configuring config objects>
2003-06-13 09:21:13,703 INFO
[com.interface21.web.context.support.WebApplicationContextUtils] -
<Loader initialized on server name Apache Tomcat/4.1.18;
WebApplicationContext object is available in ServletContext with name
'interface com.interface21.web.context.WebApplicationContext.ROOT'>
2003-06-13 09:21:13,733 INFO
[com.interface21.web.servlet.DispatcherServlet] - <Servlet with name
'petclinic' entering init...>
2003-06-13 09:21:13,743 INFO
[com.interface21.beans.CachedIntrospectionResults] - <Getting BeanInfo
for class class com.interface21.web.servlet.DispatcherServlet>
2003-06-13 09:21:13,763 INFO
[com.interface21.web.servlet.DispatcherServlet] - <Framework servlet
'petclinic' init>
2003-06-13 09:21:13,763 INFO
[com.interface21.web.context.support.XmlWebApplicationContext] - <Using
config location '/WEB-INF/petclinic-servlet.xml'>
2003-06-13 09:21:13,763 INFO
[com.interface21.beans.factory.xml.XmlBeanFactory] - <Loading
XmlBeanFactory from InputStream [java.io.ByteArrayInputStream@1b77832]>
2003-06-13 09:21:13,773 ERROR
[com.interface21.beans.factory.xml.XmlBeanFactory] -
<org.xml.sax.SAXParseException: An element with the identifier "clinic"
must appear in the document.>
2003-06-13 09:21:13,793 ERROR
[com.interface21.web.servlet.DispatcherServlet] - <Servlet with name
'petclinic' : initialization error>
org.xml.sax.SAXParseException: An element with the identifier "clinic"
must appear in the document.
at org.apache.xerces.parsers.DOMParser.parse(DOMParser.java:267)
at
org.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:201)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:122)
at
com.interface21.beans.factory.xml.XmlBeanFactory.loadBeanDefinitions(XmlBeanFactory.java:198)
at
com.interface21.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:149)
at
com.interface21.context.support.AbstractXmlApplicationContext.refreshBeanFactory(AbstractXmlApplicationContext.java:40)
at
com.interface21.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:208)
at
com.interface21.web.context.support.XmlWebApplicationContext.setServletContext(XmlWebApplicationContext.java:121)
at
com.interface21.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:160)
at
com.interface21.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:143)
at
com.interface21.web.servlet.HttpServletBean.init(HttpServletBean.java:93)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:934)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:821)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3420)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3608)
at
org.apache.catalina.core.StandardHostDeployer.start(StandardHostDeployer.java:458)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:872)
at
org.apache.catalina.servlets.ManagerServlet.start(ManagerServlet.java:1014)
at
org.apache.catalina.servlets.HTMLManagerServlet.start(HTMLManagerServlet.java:379)
at
org.apache.catalina.servlets.HTMLManagerServlet.doGet(HTMLManagerServlet.java:149)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:550)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
at java.lang.Thread.run(Thread.java:536)
I have attached the xml config files. Please advise.
Regards,
Ken
|