代码之家  ›  专栏  ›  技术社区  ›  Alisson Gomes

如何配置java。util。Tomcat中的JNDI属性

  •  1
  • Alisson Gomes  · 技术社区  · 6 年前

    如何将属性文件内容配置到Tomcat中,以便通过JNDI恢复?类似于数据源,但在本例中,它是 Properties

    在里面 Jetty服务器 我可以这样配置:

     <New id="props-users" class="org.eclipse.jetty.plus.jndi.Resource">
      <Arg>props/users</Arg>
      <Arg>
       <New class="java.util.Properties">
        <Put name="url">http://127.0.0.0:5984</Put>
        <Put name="schema">users</Put>
        <Put name="user">mary</Put>
        <Put name="password">secret</Put>
       </New>
      </Arg>
     </New>
    

    在里面 Glassfish服务器 我可以这样配置:

    <custom-resource factory-class="org.glassfish.resources.custom.factory.PropertiesFactory" description="Properties to CouchDb enviroment" res-type="java.util.Properties" jndi-name="props/users">
       <property name="url" value="http://127.0.0.0:5984"></property>
       <property name="schema" value="users"></property>
       <property name="user" value="mary"></property>
       <property name="password" value="secret"></property>
     </custom-resource>
    

    Tomcat,有自定义的还是机箱内的实现?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Alisson Gomes    6 年前

    因此,我创建了一个工厂,用于访问属性作为tomcat中的JNDI资源。 Properties as JNDI

    在里面 <tomcat-install>/conf/server.xml

    <GlobalNamingResources>
    
      <Resource auth="Container" description="Conexao clientes CouchDB" 
       name="props/myDS" 
       type="java.util.Properties"
       url="http://127.0.0.1:5984" 
       schema="mydatabase" 
       userName="admin" 
       password="secret123"
       factory="net.sf.jkniv.jaas.jndi.JndiPropertyFactory" />
    

    在里面 web.xml 文件

    <resource-ref>
      <description>properties for connection<description>
      <res-ref-name>props/myDS</res-ref-name>
      <res-type>java.util.Properties</res-type>
      <res-auth>Container</res-auth> 
      <mapped-name>props/myDS</mapped-name>
    </resource-ref>
    

    在里面 context.xml 文件

    <Context path="/myapp" reloadable="true">
    
      <ResourceLink name="props/myDS"  global="props/myDS" type="java.util.Properties" />