在Ubuntu 16.04上使用tomcat-8.0.32。我已将/etc/tomcat8/server.xml
配置为允许访问2个不同的dspace实例,如下所示:
<!-- DSpace Instance A -->
<Context path="/dspaceA" docBase="/home/pkaramol/Workspace/dspace/dspace-installation/webapps/jspui" reloadable="true" />
<Context path="/solr" docBase="/home/pkaramol/Workspace/dspace/dspace-installation/webapps/solr" reloadable="true">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="my.static.ip.addr|127.0.0.1|123.123.123.123|111.222.233.d+"/>
<Parameter name="LocalHostRestrictionFilter.localhost" value="false" override="false" />
</Context>
<!-- DSpace Instance B -->
<Context path="/dspaceB" docBase="/home/pkaramol/Workspace/tomcat-deployments/dspaceB" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="my.static.ip.addr|127.0.0.1|123.123.123.123|111.222.233.d+"/>
<Parameter name="LocalHostRestrictionFilter.localhost" value="false" override="false" />
</Context>
然而,尽管实例A是可访问的,但实例B返回404错误。奇怪的是,在catalina.out
上,我收到了关于实例B.的警告
警告:web应用程序[dPACEB]似乎已启动名为[TestScheduler_Worker X]的线程,但未能停止它很可能会造成内存泄漏。
警告重复1<=X<=50.
因此,webapp dspaceB确实得到了tomcat8的认可。
404
错误是怎么发生的?
编辑:一些新发现:
当从server.xml
中删除DSpace实例B条目并将其移动到tomcat8(/var/lib/tomcat8/webapps/
)的默认webapps部署目录时,我不再得到404
错误,而是得到Java.lang.OutOfMemoryError: Java heap space
异常和常量
内存使用率低,降落伞不存在,您的系统可能开始出现故障
catalina.out
上的警告
不知道您的具体问题,但已知DSpace(至少是6.0版本的候选版本)在tomcat版本上存在问题。也许这与此有关。