如何在Tomcat中将java.util.Properties配置为JNDI

如何在Tomcat中将java.util.Properties配置为JNDI,tomcat,jndi,Tomcat,Jndi,如何将属性文件内容配置到Tomcat中以通过JNDI恢复?类似于数据源,但在本例中,它是一个Properties 在Jetty server中,我可以通过以下方式进行配置: <New id="props-users" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg>props/users</Arg> <Arg> <New class="java.util.Propertie

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

在Jetty server中,我可以通过以下方式进行配置:

 <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>
<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>

道具/用户
http://127.0.0.0:5984
使用者
玛丽
秘密
在Glassfish服务器中,我可以通过以下方式进行配置:

 <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>
<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,有一个自定义或机箱内实现?

因此,我创建了一个工厂来访问Tomcat中作为JNDI资源的属性

/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" />
context.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 path="/myapp" reloadable="true">

  <ResourceLink name="props/myDS"  global="props/myDS" type="java.util.Properties" />