Hi Everyone,

I just migrated one of my apps off javax.servlet and onto jakarta.servlet.
I am getting the following exception:

<code>
[Time: 23 Mar 2023 11:31:44,134][Thread: main][Log:
org.springframework.web.context.support.XmlWebApplicationContext][Level:
WARN ] - [File: AbstractApplicationContext.java:591] - Exception
encountered during context initialization - cancelling refresh attempt:
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'mailSession': Invocation of init method failed; nested
exception is javax.naming.NamingException: Could not create resource
instance
[Time: 23 Mar 2023 11:31:44,139][Thread: main][Log:
org.springframework.web.servlet.DispatcherServlet][Level: ERROR] - [File:
FrameworkServlet.java:534] - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'mailSession': Invocation of init method failed; nested
exception is javax.naming.NamingException: Could not create resource
instance
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804)
~[spring-beans-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
~[spring-beans-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
~[spring-beans-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
~[spring-beans-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
~[spring-beans-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
~[spring-beans-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
~[spring-beans-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:936)
~[spring-beans-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
~[spring-context-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
~[spring-context-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:702)
~[spring-webmvc-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:668)
~[spring-webmvc-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:716)
~[spring-webmvc-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:591)
~[spring-webmvc-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:530)
~[spring-webmvc-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:170)
~[spring-webmvc-5.3.24.jar:5.3.24-migrated-1.0.6]
        at jakarta.servlet.GenericServlet.init(GenericServlet.java:158)
~[servlet-api.jar:6.0]
        at jakarta.servlet.http.HttpServlet.init(HttpServlet.java:125)
~[servlet-api.jar:6.0]
        at
org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:944)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:901)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:805)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4632)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4919)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:683)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:658)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:713)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:975)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1949)
~[catalina.jar:10.1.7]
        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
~[?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
        at
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
~[tomcat-util.jar:10.1.7]
        at
java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)
~[?:?]
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:776)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:426)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1656)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:898)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
~[catalina.jar:10.1.7]
        at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
        at
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
~[tomcat-util.jar:10.1.7]
        at
java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
~[?:?]
        at
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.core.StandardService.startInternal(StandardService.java:428)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913)
~[catalina.jar:10.1.7]
        at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
~[catalina.jar:10.1.7]
        at org.apache.catalina.startup.Catalina.start(Catalina.java:795)
~[catalina.jar:10.1.7]
        at
jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:578) ~[?:?]
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347)
~[bootstrap.jar:10.1.7]
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)
~[bootstrap.jar:10.1.7]
Caused by: javax.naming.NamingException: Could not create resource instance
        at
org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:98)
~[catalina.jar:10.1.7]
        at
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:342)
~[?:?]
        at org.apache.naming.NamingContext.lookup(NamingContext.java:864)
~[catalina.jar:10.1.7]
        at org.apache.naming.NamingContext.lookup(NamingContext.java:158)
~[catalina.jar:10.1.7]
        at org.apache.naming.NamingContext.lookup(NamingContext.java:850)
~[catalina.jar:10.1.7]
        at org.apache.naming.NamingContext.lookup(NamingContext.java:158)
~[catalina.jar:10.1.7]
        at org.apache.naming.NamingContext.lookup(NamingContext.java:850)
~[catalina.jar:10.1.7]
        at org.apache.naming.NamingContext.lookup(NamingContext.java:158)
~[catalina.jar:10.1.7]
        at org.apache.naming.NamingContext.lookup(NamingContext.java:850)
~[catalina.jar:10.1.7]
        at org.apache.naming.NamingContext.lookup(NamingContext.java:172)
~[catalina.jar:10.1.7]
        at
org.apache.naming.SelectorContext.lookup(SelectorContext.java:161)
~[catalina.jar:10.1.7]
        at javax.naming.InitialContext.lookup(InitialContext.java:409)
~[?:?]
        at
org.springframework.jndi.JndiTemplate.lambda$lookup$0(JndiTemplate.java:157)
~[spring-context-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:92)
~[spring-context-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:157)
~[spring-context-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:179)
~[spring-context-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:96)
~[spring-context-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:114)
~[spring-context-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:239)
~[spring-context-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:225)
~[spring-context-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863)
~[spring-beans-5.3.24.jar:5.3.24-migrated-1.0.6]
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
~[spring-beans-5.3.24.jar:5.3.24-migrated-1.0.6]
        ... 59 more
</code>

I've never seen this exception before, and the same code/configuration
works on Tomcat 9.0.73. This is coming from 10.1.7 on RHEL 8.7 with SELinux
enabled. I know the exception is coming from Spring, but it is definitely
related to the JNDI configuration for my mailsession.

The base context.xml is largely unchanged, with the exception of this
addition:

<code>
    <Resource name="mail/MailSession" auth="Container"
type="javax.mail.Session" description="E-Mail Resource"
        mail.debug="true" mail.transport.protocol="smtp"
mail.smtp.host="localhost" mail.smtp.auth="false" />
</code>

Anyone have any ideas?
________________________________________________

Kevin Huntly
Email: kmhun...@gmail.com
Cell: 716/424-3311
________________________________________________

-----BEGIN GEEK CODE BLOCK-----
Version: 1.0
GCS/IT d+ s a C++ UL+++$ P+(++) L+++ E---
W+++ N+ o K(+) w--- O- M-- V-- PS+ PE Y(+)
PGP++(+++) t+ 5-- X-- R+ tv+ b++  DI++ D++
G++ e(+) h--- r+++ y+++*
------END GEEK CODE BLOCK------

Reply via email to