Boa tarde. Estou configurando o Spring para tratar as transacoes e tbem integrei ele com o Struts (esrou tentando). Quando inicio o server da o seguinte statckTrace:
2008-04-08 13:10:36,828 [main] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/MGFSuporte] - action: null
java.lang.ClassNotFoundException: org.springframework.web.struts.ContextLoaderPlugIn
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1338)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1187)
at org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:119)
at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:167)
at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:142)
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:842)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:359)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3880)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4141)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:680)
at org.apache.catalina.startup.Catalina.start(Catalina.java:536)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-04-08 13:10:36,828 [main] INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/MGFSuporte] - Marking servlet action as unavailable
2008-04-08 13:10:36,828 [main] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/MGFSuporte] - Servlet /MGFSuporte threw load() exception
javax.servlet.UnavailableException
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:880)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:359)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3880)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4141)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:680)
at org.apache.catalina.startup.Catalina.start(Catalina.java:536)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-04-08 13:10:38,187 [http-8080-Processor24] WARN org.apache.struts.util.PropertyMessageResources - Resource application_pt_BR.properties Not Found.
2008-04-08 13:10:38,187 [http-8080-Processor24] WARN org.apache.struts.util.PropertyMessageResources - Resource application_pt.properties Not Found.
Mas os meus arquivos action-servlet.xml e applicationContext… estao dentro de WEB-INF. Os meus jar’s spring.jar e spring-sources.jar e sring-web.jar estao na minha pasta lib…
Segue os meus arquivos de configuracao
action-servlet.ml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean name="/VerificaUsuario"
class="br.com.MGFSuporte.controller.VerificaUsuarioAction">
<property name="usuarioService" ref="verificaUserService">
</property>
</bean>
<bean id="verificaUserService" class="br.com.MGFSuporte.service.UsuarioServiceImpl">
<property name="usuarioDAO">
<bean id="usuarioDAO" class="br.com.MGFSuporte.DAO.UsuarioDAOHibernate"/>
</property>
</bean>
<bean id="clienteService" class="br.com.MGFSuporte.service.ClienteServiceImpl">
<property name="clienteDAO">
<bean id="clienteDAO" class="br.com.MGFSuporte.DAO.ClienteDAOHibernate"/>
</property>
</bean>
</beans>
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="mappingResources">
<list>
<value>br/com/MGFSuporte/DAO/Cliente.hbm.xml</value>
<value>br/com/MGFSuporte/DAO/Usuario.hbm.xml</value>
<value>br/com/MGFSuporte/DAO/Contrato.hbm.xml</value>
<value>br/com/MGFSuporte/DAO/Aditivo.hbm.xml</value>
<value>br/com/MGFSuporte/DAO/Modulo.hbm.xml</value>
<value>br/com/MGFSuporte/DAO/ModuloContratado.hbm.xml</value>
<value>br/com/MGFSuporte/DAO/Autorizacao.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>
<prop key="show_sql">
true
</prop>
<prop key="hibernate.generic statistics">
true
</prop>
<prop key="hibernate.use_sql_comments">
true
</prop>
</props>
</property>
</bean>
<!-- Este datasource é gerenciado pelo servidor -->
<bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/MGFSuporte" />
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<!-- Objeto que nos queremos que seja transacional -->
<bean id="clienteService" class="br.com.MGFSuporte.service.ClienteServiceImpl">
</bean>
<bean id="usuarioService" class="br.com.MGFSuporte.service.UsuarioServiceImpl"/>
<tx:annotation-driven transaction-manager="transactionManager"/>
<!-- O advice transacional -->
<!-- <tx:advice id="txAdvice" transaction-manager="transactionManager"> -->
<!-- A semantina transacional -->
<!-- <tx:attributes>
<tx:method name="listar*" read-only="true"/>
<tx:method name="retorna*" read-only="true"/>
<tx:method name="consulta*" read-only="true"/>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
-->
<!-- AOP que caracteriza as execucoes -->
<!-- <aop:config>-->
<!-- Executa todos os joinpoints definido pelo pointcut -->
<!-- <aop:pointcut id="serviceOperation" expression="execution(*br.com.MGFSuporte.DAO.*.*(..))"/> -->
<!-- O advice que intercept o pointcut -->
<!-- <aop:advisor advice-ref="" pointcut-ref="serviceOperation"/>
</aop:config> -->
</beans>
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml /WEB-INF/action-servlet.xml</param-value>
</context-param>
<filter>
<filter-name>HibernateSessionSpring</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter>
<filter-name>LoginFiltro</filter-name>
<filter-class>br.com.MGFSuporte.filtros.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HibernateSessionSpring</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>LoginFiltro</filter-name>
<url-pattern>/pages/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>br.com.MGFSuporte.controller.ListenerContext</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<resource-ref>
<description>
Referencia de Recurso para o Pool de Conexoes
configurado no arquivo server.xml
</description>
<res-ref-name>jdbc/MGFSuporte</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
Obrigado