代码之家  ›  专栏  ›  技术社区  ›  Ori Marko

从Spring初始化中删除JNDI

  •  0
  • Ori Marko  · 技术社区  · 5 年前

    我正在maven tomcat插件中加载Spring应用程序。我不用弹簧靴。

    加载时,我将获取未能加载JNDI属性的调试日志,例如:

    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiTemplate - Looking up JNDI object with name [server_useforwardheaders]
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiPropertySource - JNDI lookup for name [server_useforwardheaders] threw NamingException with message: Name [server_useforwardheaders] is not bound in this Context. Unable to find [server_useforwardheaders].. Returning null.
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiTemplate - Looking up JNDI object with name [java:comp/env/server.USE-FORWARD-HEADERS]
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiLocatorDelegate - Converted JNDI name [java:comp/env/server.USE-FORWARD-HEADERS] not found - trying original name [server.USE-FORWARD-HEADERS]. javax.naming.NameNotFoundException: Name [server.USE-FORWARD-HEADERS] is not bound in this Context. Unable to find [server.USE-FORWARD-HEADERS].
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiTemplate - Looking up JNDI object with name [server.USE-FORWARD-HEADERS]
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiPropertySource - JNDI lookup for name [server.USE-FORWARD-HEADERS] threw NamingException with message: Name [server.USE-FORWARD-HEADERS] is not bound in this Context. Unable to find [server.USE-FORWARD-HEADERS].. Returning null.
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiTemplate - Looking up JNDI object with name [java:comp/env/server_USE-FORWARD-HEADERS]
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiLocatorDelegate - Converted JNDI name [java:comp/env/server_USE-FORWARD-HEADERS] not found - trying original name [server_USE-FORWARD-HEADERS]. javax.naming.NameNotFoundException: Name [server_USE-FORWARD-HEADERS] is not bound in this Context. Unable to find [server_USE-FORWARD-HEADERS].
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiTemplate - Looking up JNDI object with name [server_USE-FORWARD-HEADERS]
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiPropertySource - JNDI lookup for name [server_USE-FORWARD-HEADERS] threw NamingException with message: Name [server_USE-FORWARD-HEADERS] is not bound in this Context. Unable to find [server_USE-FORWARD-HEADERS].. Returning null.
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiTemplate - Looking up JNDI object with name [java:comp/env/server.USE_FORWARD_HEADERS]
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiLocatorDelegate - Converted JNDI name [java:comp/env/server.USE_FORWARD_HEADERS] not found - trying original name [server.USE_FORWARD_HEADERS]. javax.naming.NameNotFoundException: Name [server.USE_FORWARD_HEADERS] is not bound in this Context. Unable to find [server.USE_FORWARD_HEADERS].
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiTemplate - Looking up JNDI object with name [server.USE_FORWARD_HEADERS]
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiPropertySource - JNDI lookup for name [server.USE_FORWARD_HEADERS] threw NamingException with message: Name [server.USE_FORWARD_HEADERS] is not bound in this Context. Unable to find [server.USE_FORWARD_HEADERS].. Returning null.
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiTemplate - Looking up JNDI object with name [java:comp/env/server_USE_FORWARD_HEADERS]
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiLocatorDelegate - Converted JNDI name [java:comp/env/server_USE_FORWARD_HEADERS] not found - trying original name [server_USE_FORWARD_HEADERS]. javax.naming.NameNotFoundException: Name [server_USE_FORWARD_HEADERS] is not bound in this Context. Unable to find [server_USE_FORWARD_HEADERS].
    [localhost-startStop-1] DEBUG org.springframework.jndi.JndiTemplate - Looking up JNDI object with name [server_USE_FORWARD_HEADERS]
    

    我可以在我的spring项目中禁用/忽略JNDI吗?

    1 回复  |  直到 5 年前
        1
  •  2
  •   Van_Cleff    5 年前

    读起来不错: what is JNDI?

    JNDI的基本用途是允许分布式应用程序查找 以抽象的、独立于资源的方式提供服务。


    禁用JNDI

    创建 spring.properties 归档 src/main/resources (如果已经创建,则忽略)并添加此值 spring.jndi.ignore=true