我已经部署了两个门户(在两个 tomcat 实例上),每个门户都基于使用 Z39.50 协议的 Geonetwork 2.6.0.0。默认情况下,它们的端口都是 2100,这会导致第二个门户出现以下错误:
ERROR [org.jzkit.z3950.server.Z3950Listener] - Problem
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
at java.net.ServerSocket.bind(ServerSocket.java:376)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at java.net.ServerSocket.<init>(ServerSocket.java:128)
at org.jzkit.z3950.server.Z3950Listener.run(Z3950Listener.java:69)
我尝试根据以下 URL 中的说明更改端口: https://geonetwork-opensource.org/manuals/2.10.4/eng/developer/xml_services/system_configuration.html 要更改端口,在门户中,我使用了引用Java类的xml.config.set服务:org.fao.geonet.services.config.set 但是当我使用http POST将包含新端口的信息发送到xml.config.set时,响应不是成功:
Error org.jdom.text cannot be cast to org.jdom.element
两个门户都使用 jdom-1.0.jar。我尝试了较新版本的 jdom。但是我没有成功为门户提供两个不同的 Z39.50 端口。