![JAR search and dependency download from the Maven repository](/logo.png)
org.jgap.distr.grid.JGAPServer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jgap Show documentation
Show all versions of jgap Show documentation
JGAP is a Genetic Algorithms and Genetic Programming component provided as a Java framework.
The newest version!
/*
* This file is part of JGAP.
*
* JGAP offers a dual license model containing the LGPL as well as the MPL.
*
* For licensing information please see the file license.txt included with JGAP
* or have a look at the top of class org.jgap.Chromosome which representatively
* includes the JGAP license policy applicable for any file delivered with JGAP.
*/
package org.jgap.distr.grid;
import java.io.*;
import org.apache.commons.cli.*;
import org.apache.log4j.*;
import org.homedns.dade.jcgrid.cmd.*;
import org.homedns.dade.jcgrid.server.*;
/**
* A grid server is able to:
*
* a) receive work requests from JGAPClients
* b) send work units to JGAPWorkers
* c) receive solutions from JGAPWorkers, and
* d) send back these solutions to the requesting JGAPClient.
*
* @author Klaus Meffert
* @since 3.01
*/
public class JGAPServer {
/** String containing the CVS revision. Read out via reflection!*/
private final static String CVS_REVISION = "$Revision: 1.7 $";
private final static String className = JGAPServer.class.getName();
private static Logger log = Logger.getLogger(className);
private GridServer m_gs;
public JGAPServer(String[] args)
throws Exception {
m_gs = new GridServer(JGAPClientHandlerThread.class);
Options options = new Options();
CommandLine cmd = MainCmd.parseCommonOptions(options, m_gs.getNodeConfig(),
args);
// Start Server.
// -------------
m_gs.start();
// addFile("c:/temp/jgap/jgap.jar");
}
// Just for testing purposes
public void addFile(String a_filename)
throws Exception {
String path = m_gs.getVFSSessionPool().getPath();
if (path == null) {
return;
}
if (path.charAt(path.length() - 1) != '\\') {
path += "\\";
}
copyFile(a_filename, path);
}
public static void copyFile(String source, String dest)
throws Exception {
File destFile = new File(dest);
if (!destFile.isFile()) {
String origFilename = new File(source).getName();
dest = dest + origFilename;
}
File inputFile = new File(source);
File outputFile = new File(dest);
// FileReader in = new FileReader(inputFile);
// FileWriter out = new FileWriter(outputFile);
FileInputStream in;
FileOutputStream out;
in = new FileInputStream(inputFile);
out = new FileOutputStream(outputFile);
int c;
while ( (c = in.read()) != -1) {
out.write(c);
}
in.close();
out.close();
}
public static void main(String[] args)
throws Exception {
MainCmd.setUpLog4J("server", true);
// Create the server.
// ------------------
new JGAPServer(args);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy