diff --git a/README.AServ b/README.AServ index 1d1fbcc0517794376f336cb92a00f4e3234315d8..23adba49d1dfaf14ac3112b6de3e69e4650d4b25 100644 --- a/README.AServ +++ b/README.AServ @@ -1,10 +1,11 @@ ####################################################################### # Alignment Server launch instructions # -# 11/01/2014, version 4.5 # +# 10/02/2014, version 4.6 # ####################################################################### Using the alignment server requires an SQL database server. -We see here, how to use mysql (http://dev.mysql.com/doc/refman). +We see here, how to use mysql (http://dev.mysql.com/doc/refman) +there is also built-in support for PostGres. PORTS USED BY THE ALIGNMENT SERVER ---------------------------------- @@ -78,6 +79,12 @@ java -cp lib/kaon2.jar org.semanticweb.kaon2.server.ServerMain -registry -rmi -o java -jar lib/alignsvc.jar -O -d4 +IN CASE OF PERMGEN ERROR +------------------------ + +Necessary because we load all classes in the path to check if they implement an interface... + +It can be extended by -XX:MaxPermSize=256m RUNNING THE ALIGNMENT SERVER ---------------------------- diff --git a/README.TXT b/README.TXT index 445a22e465a01dae93fd60a832d0963baa5d1aea..b18ac039ae76ef5075505bb388455da111c21750 100644 --- a/README.TXT +++ b/README.TXT @@ -1,6 +1,6 @@ ####################################################################### # Ontology alignment API and implementation # -# 11/01/2014, version 4.5 # +# 10/02/2014, version 4.6 # # http://alignapi.gforge.inria.fr # ####################################################################### diff --git a/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java b/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java index f377babf3545f9080924779df4a39494669f79b7..8a8660b977b65f3dd17337693ce03dc04d9e10c3 100644 --- a/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java +++ b/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java @@ -117,7 +117,7 @@ import java.util.zip.ZipEntry; public class AServProtocolManager implements Service { final static Logger logger = LoggerFactory.getLogger( AServProtocolManager.class ); - CacheImpl alignmentCache = null; + Cache alignmentCache = null; Properties commandLineParams = null; Set<String> renderers = null; Set<String> methods = null; @@ -1037,9 +1037,33 @@ public class AServProtocolManager implements Service { public boolean implementsInterface( String classname, Class tosubclass ) { try { - if ( classname.equals("org.apache.xalan.extensions.ExtensionHandlerGeneral") || + // This was used to ban classes with weird behaviour + // This is not needed anymore (kept as an example) + /* + if ( classname.equals("org.apache.xalan.extensions.ExtensionHandlerGeneral") || classname.equals("org.apache.log4j.net.ZeroConfSupport") - ) throw new ClassNotFoundException( "Classes breaking this work" ); + ) { + throw new ClassNotFoundException( "Classes breaking this work" ); + }*/ + // This is a little crazy but at least save PermGem + // These are our largest libraries, but others may be to ban + // Hope that they do not implement any of our interfaces + if ( classname.startsWith( "org.apache.lucene" ) + || classname.startsWith( "org.tartarus" ) + || classname.startsWith( "com.hp.hpl.jena" ) + || classname.startsWith( "org.apache.jena" ) + || classname.startsWith( "arq." ) + || classname.startsWith( "riotcmd" ) + || classname.startsWith( "org.openjena" ) + || classname.startsWith( "uk.ac.manchester.cs.owlapi" ) + || classname.startsWith( "org.coode" ) + || classname.startsWith( "org.semanticweb.owlapi" ) + || classname.startsWith( "de.uulm.ecs.ai.owlapi" ) + || classname.startsWith( "org.apache.xerces" ) + || classname.startsWith( "org.apache.xml" ) + || classname.startsWith( "org.apache.html" ) + || classname.startsWith( "org.apache.wml" ) + ) return false; // JE: Here there is a bug that is that it is not possible // to have ALL interfaces with this function!!! // This is really stupid but that's life