org.restlet.Serverのインスタンスを作成するときに返されるorg.restlet.Serverのインスタンスを取得した後、コンテキストを取得し、整数と新しいプロパティmaxThreadsの、次のように:
import org.restlet.Component;
import org.restlet.Server;
//...
Server server = mycomponent.getServers().add(Protocol.HTTP, "localhost", 9090);
server.getContext().getParameters().add("maxThreads", "512");
それはあなたの間違いのようにあなたがコンポーネントのコンテキストプロパティ、またはJavaプログラム自体をつかんで、そして自然にそこにパラメータを割り当てていたに見え無視されます。
ここフラー例:
package carpool.serverMain;
import java.util.ArrayList;
import org.json.JSONObject;
import org.restlet.Component;
import org.restlet.Server;
import org.restlet.data.Protocol;
import carpool.common.DebugLog;
import carpool.configurations.CarpoolConfig;
import carpool.configurations.EnumConfig.Gender;
import carpool.dbservice.LocationDaoService;
import carpool.factory.JSONFactory;
import carpool.service.*;
public class ServerMain {
//private static Log log = LogFactory.getLog(ServiceMain.class);
private static ServerMain me;
private Component component;
public void init(String[] arguments) {
}
/**
* Start the Thread, accept incoming connections
*
* Use this entry point to start with embedded HTTP Server
*
* @throws Exception
*/
public void start() throws Exception {
component = new Component();
// Add a new HTTP server listening on port
Server server = component.getServers().add(Protocol.HTTP, 8015);
server.getContext().getParameters().add("maxThreads", "256");
// Attach the sample application
RoutingService routingService = new RoutingService();
component.getDefaultHost().attach(routingService);
// Start the component.
//log.info("ready to start");
DebugLog.d("ready to start");
component.start();
}
/**
* Stops RESTlet application
*/
// public void stop() {
// component.getDefaultHost().detach(component.getApplication());
// }
public static ServerMain getInstance() {
if (me == null) {
me = new ServerMain();
}
return me;
}
public static void main(String... args) throws Exception {
CarpoolConfig.initConfig();
DebugLog.initializeLogger();
LocationDaoService.init();
DebugLog.d("Excuting");
// Load server logic
try {
ServerMain.getInstance().init(args);
ServerMain.getInstance().start();
} catch (Exception e) {
//log.error("Failed to start server", e);
}
Thread thread = new CleanThreadService();
thread.start();
}
}
getContext()。getParameters()。add( "maxThreads"、 "512");のいずれの部分がnullですか?各部分をローカル変数に抽出し、nullをチェックします。 –
これは機能します。 org.restlet.Contextをインポートする必要がありました。 – user1152640
実際には、もう少し調査した後、getContext()はnullを返します。 – user1152640