Duvid usando Spring em um projeto java e acessando via WEB?

0 respostas
P

Olá,

uma duvida alguém já fez um projeto java de tem classes bean (hibernate) e daos
e acessando via :

public static FilialDAOImpl getFilialDAOImpl() {

		Resource xml = new ClassPathResource("/spring-config.xml");

		// Inicia a fabrica de objetos do Spring
		BeanFactory factory = new XmlBeanFactory(xml);

		// Obtem uma referencia para o DAO
		FilialDAOImpl filialDAO = (FilialDAOImpl) factory
				.getBean("filialDAO");

		return filialDAO;
	}

e depois crio um jar desse projeto e adiciono esse jar em uma aplicação WEB

e não consigo acessar os DAOs me dando erro abaixo

como definiria meu arquivo web.xml pois o arquivo spring.jar está na aplicação WEB
e no jar gerado.

No arquivo web.xml não fiz nenhuma referência ao Spring ???

Alguém já passou por isso ???

abs

at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.jasper.JasperException: An exception occurred processing JSP page /listaUsuario.jsp at line 30

27:           <h:form>
28: 
29:              <h:outputText value ="Lista de Clientes"/>
30:              <rich:dataTable id="usuarios" border="1" value="#{pubUsuario.lista}" var="a" rows="5"  rendered="#{not empty pubUsuario.lista}" binding="#{pubUsuario.objDataTableUsuario}">
31:                 <h:column>
32: 
33:                    <f:facet name="header">


Stacktrace:
	at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408)
	... 30 more
Caused by: javax.servlet.ServletException: java.lang.ExceptionInInitializerError
	at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:852)
	at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
	at org.apache.jsp.listaUsuario_jsp._jspService(listaUsuario_jsp.java:115)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	... 40 more
Caused by: java.lang.ExceptionInInitializerError
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at com.sun.faces.config.ManagedBeanFactoryImpl.newInstance(ManagedBeanFactoryImpl.java:274)
	at com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:531)
	at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:82)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
	at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
	at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:61)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:107)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	at com.sun.faces.application.ValueBindingValueExpressionAdapter.getValue(ValueBindingValueExpressionAdapter.java:102)
	at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:564)
	at javax.faces.webapp.UIComponentTag.createComponent(UIComponentTag.java:201)
	at javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:476)
	at javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:660)
	at javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1111)
	at org.apache.jsp.listaUsuario_jsp._jspx_meth_rich_005fdataTable_005f0(listaUsuario_jsp.java:516)
	at org.apache.jsp.listaUsuario_jsp._jspx_meth_h_005fform_005f1(listaUsuario_jsp.java:446)
	at org.apache.jsp.listaUsuario_jsp._jspx_meth_f_005fview_005f0(listaUsuario_jsp.java:148)
	at org.apache.jsp.listaUsuario_jsp._jspService(listaUsuario_jsp.java:106)
	... 43 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'filialDAO' defined in class path resource [spring-config.xml]: Cannot resolve reference to bean 'automacaoSessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'automacaoSessionFactory' defined in class path resource [spring-config.xml]: Invocation of init method failed; nested exception is org.hibernate.cache.CacheException: Attempt to restart an already started EhCacheProvider. Use sessionFactory.close()  between repeated calls to buildSessionFactory. Consider using net.sf.ehcache.hibernate.SingletonEhCacheProvider.
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
	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:222)
	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 br.com.marisa.nl.nfs.service.SpringService.getPubFilialDAOImpl(SpringService.java:87)
	at br.com.marisanova.controller.UsuarioBean.<clinit>(UsuarioBean.java:41)
	... 63 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'automacaoSessionFactory' defined in class path resource [spring-config.xml]: Invocation of init method failed; nested exception is org.hibernate.cache.CacheException: Attempt to restart an already started EhCacheProvider. Use sessionFactory.close()  between repeated calls to buildSessionFactory. Consider using net.sf.ehcache.hibernate.SingletonEhCacheProvider.
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
	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:222)
	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.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
	... 77 more
Caused by: org.hibernate.cache.CacheException: Attempt to restart an already started EhCacheProvider. Use sessionFactory.close()  between repeated calls to buildSessionFactory. Consider using net.sf.ehcache.hibernate.SingletonEhCacheProvider.
	at org.hibernate.cache.EhCacheProvider.start(EhCacheProvider.java:134)
	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:183)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1218)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:814)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:732)
	at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
	... 87 more
Caused by: net.sf.ehcache.CacheException: Cannot parseConfiguration CacheManager. Attempt to create a new instance of CacheManager using the diskStorePath "C:\Arquivos de programas\Apache Software Foundation\Tomcat 6.0\temp" which is already used by an existing CacheManager. The source of the configuration was classpath.
	at net.sf.ehcache.CacheManager.configure(CacheManager.java:248)
	at net.sf.ehcache.CacheManager.init(CacheManager.java:193)
	at net.sf.ehcache.CacheManager.<init>(CacheManager.java:180)
	at org.hibernate.cache.EhCacheProvider.start(EhCacheProvider.java:124)
	... 94 more
--web.xml

<!-- Inicio Configuração JSF 1.2 -->
	<context-param>
		<param-name>org.richfaces.SKIN</param-name>
		<param-value>deepMarine</param-value>
	</context-param>
	<context-param>
		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
		<param-value>server</param-value>
	</context-param>
	<filter>
		<display-name>Ajax4jsf Filter</display-name>
		<filter-name>ajax4jsf</filter-name>
		<filter-class>org.ajax4jsf.Filter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>ajax4jsf</filter-name>
		<servlet-name>Faces Servlet</servlet-name>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>INCLUDE</dispatcher>
	</filter-mapping>
    <!-- Fim Configuração JSF 1.2  -->
    
    <!-- Inicio Configuração JSF 1.2 -->
    
    	<servlet>
    		<servlet-name>Faces Servlet</servlet-name>
    		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    	
    
    	<servlet-mapping>
    		<servlet-name>Faces Servlet</servlet-name>
    		<url-pattern>*.jsf</url-pattern>
    	</servlet-mapping>
      
  <!-- Fim Configuração JSF 1.2 -->
Criado 18 de setembro de 2009
Respostas 0
Participantes 1