I've experienced this same issue. Shouldn't we simply remove these JARs from WEB-INF/lib? Or are they used elsewhere? We could always just move the e-mail configuration into roller.properties and not use JNDI. I prototyped this about a year ago and it seemed to work fine. Unfortunately, I don't have the code anymore.
Matt On 3/25/06, Bill Tribley <[EMAIL PROTECTED]> wrote: > My email notifications were not working. Throwing a big bad exception copied > below. Turns out you really do have to move the two jars in step 4.2 as the > text says, despite the unix "cp" command versus "mv" and the lack of a del > command in Windows. I lost a bit of time on this. The error trace complaining > of a bad typecast was the clue that two classes of the same name had been > used, one to initialize and the other to run. Deleting the original copies in > WEB-INF/lib and restarting the webapp fixed the issue. > > STEP 4.2: Install JavaMail and Activation jars > If you like to use Roller's e-mail notification features, you'll need to add > the JavaMail and Activation > jars to your application server's classpath. Currently, we ship these jars > with Roller, so move them from > the Roller WEB-INF/lib directory and into the Tomcat common/lib directory. > UNIX example > % cp $ROLLER/WEB-INF/lib/mail.jar $CATALINA_HOME/common/lib > % cp $ROLLER/WEB-INF/lib/activation.jar $CATALINA_HOME/common/lib > Windows example > c> cp %ROLLER%\WEB-INF\lib\mail.jar %CATALINA_HOME%\common\lib > C> cp %ROLLER%\WEB-INF\lib\activation.jar %CATALINA_HOME%\common\lib > > The big bad exception with the jars left in WEB-INF/lib: > ERROR 2006-03-26 01:04:45,788 StandardWrapperValve:invoke - Servlet.service() > for servlet action threw exception > java.lang.ClassCastException: javax.mail.Session > at > org.roller.presentation.website.actions.InviteMemberAction.notifyInvitee(InviteMemberAction.java:202) > at > org.roller.presentation.website.actions.InviteMemberAction.send(InviteMemberAction.java:164) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at > org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276) > at > org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196) > at > org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421) > at > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164) > at > org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.roller.presentation.filters.RequestFilter.doFilter(RequestFilter.java:79) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.roller.presentation.filters.BreadCrumbFilter.doFilter(BreadCrumbFilter.java:77) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.roller.presentation.filters.PersistenceSessionFilter.doFilter(PersistenceSessionFilter.java:43) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292) > at > org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116) > at > org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:79) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:143) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:138) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:50) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.securechannel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:168) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:174) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:246) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:220) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173) > at > org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:120) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.roller.presentation.filters.SchemeEnforcementFilter.doFilter(SchemeEnforcementFilter.java:104) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.roller.presentation.filters.CharEncodingFilter.doFilter(CharEncodingFilter.java:94) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) > at > org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199) > at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) > at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754) > at > org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684) > at > org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) > at java.lang.Thread.run(Thread.java:595) > >
