This is a problem with the latest release of java (openjdk version "1.8.0_352"). It has now removed the deprecated class
runFinalizersOnExit
This class is used by the embedded handle.net jar classes to provide the resolver functions for the handle server.
This is distributed via the maven libraries. There is testing going on upgraded to use a later handle.net distribution.
I have tested a working alternative by rebuilding
handle-6.2.jar with a minor change to ./net/handle/server/Main.java to
comment out the now discontinued class at line 124
//System.runFinalizersOnExit(true);
After rebuild the handle jar and replacing it in the target directories, the Handle server starts successfully and I have tested with a live configuration - handle resolving completes successfuling.
This could provide alternative for some to get a server live.
Happy to share the build to project the above jar and/or the jar itself
Gives us a fall-back solution at least. Hopefully formal fix will be out soon.
The compiled handle.jar file is available at https://release.prosentient.com.au/handle62/handle.jar.gz
It can be used to replace the handle-6.2.jar reference in the dspace 6.4
build or copied directly to the target directly to the target
directories - particularly of course lib
./lib/handle-6.2.jar
./webapps/jspui/WEB-INF/lib/handle-6.2.jar
./webapps/xmlui/WEB-INF/lib/handle-6.2.jar
./webapps/swordv2/WEB-INF/lib/handle-6.2.jar
./webapps/rdf/WEB-INF/lib/handle-6.2.jar
./webapps/rest/WEB-INF/lib/handle-6.2.jar
./webapps/sword/WEB-INF/lib/handle-6.2.jar
./webapps/oai/WEB-INF/lib/handle-6.2.jar
I have shared the build source at https://release.prosentient.com.au/handle62/handle6.2patched.tar.gz
The base is hdl 6.2.05 code from handle.net
Note that this does not contain the cnriutil references.
I compiled lib/cnriutil.jar derived from the classes in the dspace version of handle-6.2.jar
To achieve a distribution I modified the build.xml to remove references to the admintools. I'm guessing this must have been done before with the dspace distro.
I modified
./net/handle/server/Main.java
to remove System.runFinalizersOnExit(true);
Further work could be done to replace this with an alternative code
Runtime.addShutdownHook(new Runnable() {
public void run(){
// do whatever handle.net needs to exit cleaning on error();
}
});
However I have tested the above simple change successfully in an updated ubuntu server running the dspace handle resolver.
Not tested for long term service operation, so there is a risk the above
change might lead to some memory leakage. However the fact that the
handle service runs seperately makes it easy to monitor.
The build process is:
ant clean
ant server
ant distjar
The build output is in the dist folder
Hope this helps.
Edmund
--
All messages to this mailing list should adhere to the Code of Conduct: https://www.lyrasis.org/about/Pages/Code-of-Conduct.aspx
---
You received this message because you are subscribed to the Google Groups "DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dspace-tech...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dspace-tech/9f3fa391-ce24-4e79-8a3c-2961fa573c02n%40googlegroups.com.
--