You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by e-Denton Subscriber <su...@e-denton.com> on 2004/07/08 16:10:43 UTC

Re: Tomcat 5.0 and JavaMail - solved?

You're right! Thanks! My Tomcat 5.0.25 common/lib/naming-factory.jar doesn't
contain a org.apache.naming.factory.MailSessionFactory I'll try your
solution.

Thanks to the other posters as well. (I did forget activation.jar, even
though I hadn't hit that problem yet).

----- Original Message ----- 
From: "David Smith" <dn...@cornell.edu>
To: "Tomcat Users List" <to...@jakarta.apache.org>
Sent: Thursday, July 08, 2004 8:34 AM
Subject: Re: Tomcat 5.0 and JavaMail


> <opinion>
>   Don't get in the habit of putting jars in java_home/jre/lib/ext.
> Those jars get loaded before everything and ugly version conflicts among
> other problems show up.
> </opinion>
>
> I have a different take on your problem.  Are you using Tomcat 5.0.25?
> If so, you may want to consider upgrading or just stealing
> common/lib/naming-factory.jar from a 5.0.24 version of Tomcat.
> org.apache.naming.factory.MailSessionFactory is missing from tomcat
> 5.0.25.  See this message from the archives:
>
> http://www.mail-archive.com/tomcat-user@jakarta.apache.org/msg128258.html
>
> --David
>
> Aris Javier wrote:
>
> >you don't need to put activation.jar and mail.jar inside
> >catalina_home\common\lib\.... you need to put them inside
> >java_home\jre\lib\ext...
> >
> >regards...
> >aris
> >
> >-----Original Message-----
> >From: Dale, Matt [mailto:Matt.Dale@beCogent.com]
> >Sent: Wednesday, July 07, 2004 11:23 PM
> >To: Tomcat Users List; e-Denton Subscriber
> >Subject: RE: Tomcat 5.0 and JavaMail
> >
> >
> >
> >I've found that you also need activation.jar for JavaMail, do you have
> >this in common/lib too?
> >
> >Ta
> >Matt
> >
> >-----Original Message-----
> >From: e-Denton Subscriber [mailto:subscriber@e-denton.com]
> >Sent: 07 July 2004 15:49
> >To: Tomcat Users List
> >Subject: Tomcat 5.0 and JavaMail
> >
> >
> >I had JavaMail working in Tomcat 4, but in Tomcat 5, I am having
> >trouble. I know it's something simple, perhaps you can see the problem.
> >Mail.jar is in Tomcat 5.0\common\lib.
> >
> >I am getting this error:
> >
> >"javax.naming.NamingException: Cannot create resource instance:"
> >
> >Using this context in Tomcat 5.0\conf\Catalina\localhost\e_Denton.xml
> >
> >"<Context displayName="Portal Application"
> >         debug="5"
> >         docBase="e-Denton"
> >         path="/e-Denton"
> >         reloadable="true"
> >         useNaming="true">
> >
> >    <Loader checkInterval="1" />
> >
> > <Resource name="mail/Session" auth="Container"
> >type="javax.mail.Session" />  <ResourceParams name="mail/Session">
> >  <parameter>
> >   <name>mail.smtp.host</name>
> >   <value>mars.webappcabaret.net</value>
> >  </parameter>
> > </ResourceParams>
> >..."
> >
> >And this web.xml:
> >
> >"<!-- JavaMail Resource -->
> > <resource-ref>
> >  <description>
> >  Resource reference to a factory for javax.mail.Session
> >  preconfigured to connect to the appropriate SMTP server.
> >  </description>
> >  <res-ref-name>mail/Session</res-ref-name>
> >  <res-type>javax.mail.Session</res-type>
> >  <res-auth>Container</res-auth>
> > </resource-ref>"
> >
> >Accessed like this:
> >
> >  "try
> >   {
> >   Context initContext = new InitialContext();
> >   Context envContext  = (Context) initContext.lookup("java:comp/env");
> >   Session session = (Session) envContext.lookup("mail/Session");
> >   }
> >  catch (javax.naming.NamingException ne)"
> >
> >
> >
> >
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> >For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> >For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Re: Tomcat 5.0 and JavaMail - solved? not quite

Posted by e-Denton Subscriber <su...@e-denton.com>.
My lookup still fails (stack trace at end of this email) with
JasperException:

   Context initContext = new InitialContext();
   Context envContext  = (Context) initContext.lookup ("java:comp/env");
   Session mailSession = (Session) envContext.lookup ("mail/Session");
// fails

Is anyone successfully using JavaMail with JNDI lookup on Tomcat 5.0.27 ?

Should I report it as a bug?

----- Original Message ----- 
From: "e-Denton Subscriber" <su...@e-denton.com>
To: "Tomcat Users List" <to...@jakarta.apache.org>
Sent: Thursday, July 08, 2004 9:10 AM
Subject: Re: Tomcat 5.0 and JavaMail - solved?


> You're right! Thanks! My Tomcat 5.0.25 common/lib/naming-factory.jar
doesn't
> contain a org.apache.naming.factory.MailSessionFactory I'll try your
> solution.
>
> Thanks to the other posters as well. (I did forget activation.jar, even
> though I hadn't hit that problem yet).
>
> ----- Original Message ----- 
> From: "David Smith" <dn...@cornell.edu>
> To: "Tomcat Users List" <to...@jakarta.apache.org>
> Sent: Thursday, July 08, 2004 8:34 AM
> Subject: Re: Tomcat 5.0 and JavaMail
>
>
> > <opinion>
> >   Don't get in the habit of putting jars in java_home/jre/lib/ext.
> > Those jars get loaded before everything and ugly version conflicts among
> > other problems show up.
> > </opinion>
> >
> > I have a different take on your problem.  Are you using Tomcat 5.0.25?
> > If so, you may want to consider upgrading or just stealing
> > common/lib/naming-factory.jar from a 5.0.24 version of Tomcat.
> > org.apache.naming.factory.MailSessionFactory is missing from tomcat
> > 5.0.25.  See this message from the archives:
> >
> >
http://www.mail-archive.com/tomcat-user@jakarta.apache.org/msg128258.html
> >
> > --David
> >
> > Aris Javier wrote:
> >
> > >you don't need to put activation.jar and mail.jar inside
> > >catalina_home\common\lib\.... you need to put them inside
> > >java_home\jre\lib\ext...
> > >
> > >regards...
> > >aris
> > >
> > >-----Original Message-----
> > >From: Dale, Matt [mailto:Matt.Dale@beCogent.com]
> > >Sent: Wednesday, July 07, 2004 11:23 PM
> > >To: Tomcat Users List; e-Denton Subscriber
> > >Subject: RE: Tomcat 5.0 and JavaMail
> > >
> > >
> > >
> > >I've found that you also need activation.jar for JavaMail, do you have
> > >this in common/lib too?
> > >
> > >Ta
> > >Matt
> > >
> > >-----Original Message-----
> > >From: e-Denton Subscriber [mailto:subscriber@e-denton.com]
> > >Sent: 07 July 2004 15:49
> > >To: Tomcat Users List
> > >Subject: Tomcat 5.0 and JavaMail
> > >
> > >
> > >I had JavaMail working in Tomcat 4, but in Tomcat 5, I am having
> > >trouble. I know it's something simple, perhaps you can see the problem.
> > >Mail.jar is in Tomcat 5.0\common\lib.
> > >
> > >I am getting this error:
> > >
> > >"javax.naming.NamingException: Cannot create resource instance:"
> > >
> > >Using this context in Tomcat 5.0\conf\Catalina\localhost\e_Denton.xml
> > >
> > >"<Context displayName="Portal Application"
> > >         debug="5"
> > >         docBase="e-Denton"
> > >         path="/e-Denton"
> > >         reloadable="true"
> > >         useNaming="true">
> > >
> > >    <Loader checkInterval="1" />
> > >
> > > <Resource name="mail/Session" auth="Container"
> > >type="javax.mail.Session" />  <ResourceParams name="mail/Session">
> > >  <parameter>
> > >   <name>mail.smtp.host</name>
> > >   <value>mars.webappcabaret.net</value>
> > >  </parameter>
> > > </ResourceParams>
> > >..."
> > >
> > >And this web.xml:
> > >
> > >"<!-- JavaMail Resource -->
> > > <resource-ref>
> > >  <description>
> > >  Resource reference to a factory for javax.mail.Session
> > >  preconfigured to connect to the appropriate SMTP server.
> > >  </description>
> > >  <res-ref-name>mail/Session</res-ref-name>
> > >  <res-type>javax.mail.Session</res-type>
> > >  <res-auth>Container</res-auth>
> > > </resource-ref>"
> > >
> > >Accessed like this:
> > >
> > >  "try
> > >   {
> > >   Context initContext = new InitialContext();
> > >   Context envContext  = (Context) initContext.lookup("java:comp/env");
> > >   Session session = (Session) envContext.lookup("mail/Session");
> > >   }
> > >  catch (javax.naming.NamingException ne)"

Nested Exception:
java.lang.reflect.InvocationTargetException


----------------------------------------------------------------------------
----
java.lang.reflect.InvocationTargetException 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:324) at
org.apache.jasper.runtime.JspRuntimeLibrary.internalIntrospecthelper(JspRunt
imeLibrary.java:355) at
org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper(JspRuntimeLibra
ry.java:306) at
org.apache.jsp.Test_005fJavaMail_jsp._jspService(Test_005fJavaMail_jsp.java:
81) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3
24) at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:237) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:157) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:214) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
Valve.java:198) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:152) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137
) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117
) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:705) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:683) at java.lang.Thread.run(Thread.java:534) Caused by:
java.lang.NoClassDefFoundError: javax/mail/Session at
org.apache.naming.factory.MailSessionFactory$1.run(MailSessionFactory.java:1
16) at java.security.AccessController.doPrivileged(Native Method) at
org.apache.naming.factory.MailSessionFactory.getObjectInstance(MailSessionFa
ctory.java:100) at
org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.
java:129) at
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:301) at
org.apache.naming.NamingContext.lookup(NamingContext.java:791) at
org.apache.naming.NamingContext.lookup(NamingContext.java:138) at
org.apache.naming.NamingContext.lookup(NamingContext.java:779) at
org.apache.naming.NamingContext.lookup(NamingContext.java:151) at
com.cnw.portal.beans.SendEMail.sendEmail(Unknown Source) at
com.cnw.portal.beans.SendEMail.setMessageBody(Unknown Source) ... 37 more
Root Exception:
org.apache.jasper.JasperException


----------------------------------------------------------------------------
----
org.apache.jasper.JasperException at
org.apache.jasper.runtime.JspRuntimeLibrary.internalIntrospecthelper(JspRunt
imeLibrary.java:359) at
org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper(JspRuntimeLibra
ry.java:306) at
org.apache.jsp.Test_005fJavaMail_jsp._jspService(Test_005fJavaMail_jsp.java:
81) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3
24) at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:237) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:157) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:214) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
Valve.java:198) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:152) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137
) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117
) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:705) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:683) at java.lang.Thread.run(Thread.java:534)


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org