为Tomcat 8.5配置自定义域,设置自定义mbean-descriptor

时间:2017-10-03 09:17:20

标签: java tomcat mbeans tomcat8.5

我的任务是将我们的Tomcat服务器从6.0迁移到8.5。您可以想象,设置配置会有很多不一致之处,而且我对设置Web服务器的知识非常有限。我需要做的是,在新的Tomcat服务器上运行我们的自定义应用程序,就是创建一个自定义Realm,以便我们的应用程序可以通过Active Directory中的身份证验证用户。自定义域在conf / server.xml文件中配置。

<Realm className="JEDRealm"
           connectionName="CN=webapps,OU=Admin,OU=[OU],dc=[DC],DC=ds,DC=[DC],DC=[DC],DC=[DC]"
           connectionPassword="[PASSWORD]" 
           connectionURL="[SERVER URL]" 
           alternateURL="[SERVER URL]" 
           referrals="follow"
           roleBase="DC=pod,dc=ds,DC=[DC],DC=[DC],DC=[DC]"
           roleName="cn"
           roleSearch="(&amp;(member={0})(objectclass=group))"
           roleSubtree="true"
           userBase="DC=pod,DC=ds,dc=[DC],DC=[DC],DC=[DC]"
           userSearch="sAMAccountName={0}" 
           userSubtree="true" />

然后我创建了一个自定义mbeans-descriptor文件,将其放在与JEDRealm.class文件相同的目录中(该文件是JNDIRealm.java的修改版本,然后编译为JEDRealm.class)。

因此在创建JED_mbeans描述符之后,我不得不为它设置一个监听器。在Tomcat 6.0中,有:

<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" 
  descriptors="JED_mbeans-descriptors.xml"/>

但是,在Tomcat_8.​​5中,ServerLifecycleListener已经停止使用,我不知道在哪里设置:

descriptors="JED_mbeans-descriptors.xml"

当我尝试启动Tomcat时,这是日志文件的副本。

 03-Oct-2017 17:33:41.907 WARNING [main] org.apache.tomcat.util.digester.SetPropertiesRule.begin 
[SetPropertiesRule]{Server/Listener} Setting property 'descriptors' to 'JED_mbeans-descriptors.xml' 
did not find a matching property.
 03-Oct-2017 17:33:42.079 SEVERE [main] org.apache.tomcat.util.digester.Digester.startElement 
Begin event threw error java.lang.NoClassDefFoundError: JEDRealm (wrong name: org/apache/catalina/realm/JEDRealm)

如果我发布了太多信息,请原谅我。我之前从未设置/配置过Web服务器,因此我的知识有限。我不得不离开的是Tomcat 6.0的配置文档,安装在运行Java 7的Windows 2008服务器上。任何帮助都将不胜感激!

0 个答案:

没有答案