Я думаю, вам нужно map
, если вы хотите выполнить операцию для каждого объекта в массиве.
points.map(x => x + Math.random()/1000)
добавил бы случайное крошечное число.
Но вы можете выполнять любую функцию, какую захотите, после части x =>
. Может быть, что-то вроде
points.map(myfunc)
, и вы можете определить myfunc как добавить .0001 или добавить .0002 на основе некоторого условия.
Code говорит за себя. Посмотрите отрывок pom.xml и класс для выполнения кота.
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>catalina</artifactId>
<version>6.0.18</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>coyote</artifactId>
<version>6.0.18</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>jasper</artifactId>
<version>6.0.18</version>
<scope>test</scope>
</dependency>
public class RunWebApplicationTomcat {
private String path = null;
private Embedded container = null;
private Log logger = LogFactory.getLog(getClass());
/**
* The directory to create the Tomcat server configuration under.
*/
private String catalinaHome = "tomcat";
/**
* The port to run the Tomcat server on.
*/
private int port = 8089;
/**
* The classes directory for the web application being run.
*/
private String classesDir = "target/classes";
/**
* The web resources directory for the web application being run.
*/
private String webappDir = "mywebapp";
/**
* Creates a single-webapp configuration to be run in Tomcat on port 8089. If module name does
* not conform to the 'contextname-webapp' convention, use the two-args constructor.
*
* @param contextName without leading slash, for example, "mywebapp"
* @throws IOException
*/
public RunWebApplicationTomcat(String contextName) {
Assert.isTrue(!contextName.startsWith("/"));
path = "/" + contextName;
}
/**
* Starts the embedded Tomcat server.
*
* @throws LifecycleException
* @throws MalformedURLException if the server could not be configured
* @throws LifecycleException if the server could not be started
* @throws MalformedURLException
*/
public void run(int port) throws LifecycleException, MalformedURLException {
this.port = port;
// create server
container = new Embedded();
container.setCatalinaHome(catalinaHome);
container.setRealm(new MemoryRealm());
// create webapp loader
WebappLoader loader = new WebappLoader(this.getClass().getClassLoader());
if (classesDir != null) {
loader.addRepository(new File(classesDir).toURI().toURL().toString());
}
// create context
// TODO: Context rootContext = container.createContext(path, webappDir);
Context rootContext = container.createContext(path, webappDir);
rootContext.setLoader(loader);
rootContext.setReloadable(true);
// create host
// String appBase = new File(catalinaHome, "webapps").getAbsolutePath();
Host localHost = container.createHost("localHost", new File("target").getAbsolutePath());
localHost.addChild(rootContext);
// create engine
Engine engine = container.createEngine();
engine.setName("localEngine");
engine.addChild(localHost);
engine.setDefaultHost(localHost.getName());
container.addEngine(engine);
// create http connector
Connector httpConnector = container.createConnector((InetAddress) null, port, false);
container.addConnector(httpConnector);
container.setAwait(true);
// start server
container.start();
// add shutdown hook to stop server
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
stopContainer();
}
});
}
/**
* Stops the embedded Tomcat server.
*/
public void stopContainer() {
try {
if (container != null) {
container.stop();
}
} catch (LifecycleException exception) {
logger.warn("Cannot Stop Tomcat" + exception.getMessage());
}
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public static void main(String[] args) throws Exception {
RunWebApplicationTomcat inst = new RunWebApplicationTomcat("mywebapp");
inst.run(8089);
}
public int getPort() {
return port;
}
}
Это может помочь.
Если вы загрузите пакет с исходным кодом для Tomcat6.x, вы получите этот класс:
Это пример того, как использовать класс Embedd: это оболочка для остановки | запуска определенного Установка Tomcat. (Я имею в виду, что вы можете настроить CATALINA_BASE
так, чтобы он указывал на существующую установку Tomcat).
Если вы скомпилируете это, вы можете запустить его так:
java -D "catalina.base =% CATALINA_BASE% "-D" catalina.home =% CATALINA_HOME% "org.apache.catalina.startup.Catalina start
Я пока не знаю, как изменить этот код для выключения сервера!
Есть ряд причин, по которым можно использовать Tomcat вместо Jetty:
Пункт № 5 был важным в моей работе. Например, я могу получить прямой доступ к экземпляру JSPWiki через Tomcat, но он полностью недоступен при использовании Jetty. Я попросил решить эту проблему в 2007 году и еще не получил ответа. В конце концов я сдался и начал использовать Tomcat 6. Я изучал Glassfish и Grizzly, но пока что Tomcat (на удивление) самый стабильный и хорошо документированный веб-контейнер (что на самом деле мало что говорит).
Tomcat - это проект с открытым исходным кодом, интеллектуальная собственность которого принадлежит Apache Foundation, Jetty - это проект с открытым исходным кодом, но принадлежит небольшой частной компании (Mortbay Consulting)Пункт № 5 был важным в моей работе. Например, я могу получить прямой доступ к экземпляру JSPWiki через Tomcat, но он полностью недоступен при использовании Jetty. Я попросил решить эту проблему в 2007 году и еще не получил ответа. В конце концов я сдался и начал использовать Tomcat 6. Я изучал Glassfish и Grizzly, но пока что Tomcat (на удивление) самый стабильный и хорошо документированный веб-контейнер (что на самом деле мало что говорит).
Tomcat - это проект с открытым исходным кодом, интеллектуальная собственность которого принадлежит Apache Foundation, Jetty - это проект с открытым исходным кодом, но принадлежит небольшой частной компании (Mortbay Consulting)Пункт № 5 был важным в моей работе. Например, я могу получить прямой доступ к экземпляру JSPWiki через Tomcat, но он полностью недоступен при использовании Jetty. Я попросил решить эту проблему в 2007 году и еще не получил ответа. В конце концов я сдался и начал использовать Tomcat 6. Я изучал Glassfish и Grizzly, но пока что Tomcat (на удивление) самый стабильный и хорошо документированный веб-контейнер (что на самом деле мало что говорит).
но это совершенно недоступно при использовании Jetty. Я попросил решить эту проблему в 2007 году и еще не получил ответа. В конце концов я сдался и начал использовать Tomcat 6. Я изучал Glassfish и Grizzly, но пока что Tomcat (на удивление) самый стабильный и хорошо документированный веб-контейнер (что на самом деле мало что говорит). но это совершенно недоступно при использовании Jetty. Я попросил решить эту проблему в 2007 году и еще не получил ответа. В конце концов я сдался и начал использовать Tomcat 6. Я изучал Glassfish и Grizzly, но пока что Tomcat (на удивление) самый стабильный и хорошо документированный веб-контейнер (что на самом деле мало что говорит).