enter image description here公共类GemfireTest扩展了SecurityManager {
public static void main(String[] args) throws NameResolutionException, TypeMismatchException, QueryInvocationTargetException, FunctionDomainException, IOException {
System.setProperty("gemfire.locators", "localhost[8091]");
Properties properties = new Properties();
ServerLauncher serverLauncher = new ServerLauncher.Builder()
.setMemberName("server1")
.setServerPort(40404)
.set("start-locator", "localhost[8091]")
.build();
serverLauncher.start();
System.out.println(serverLauncher.status());
String restapi ="http://localhost:8091/gemfire-api/v1/";
// URLConnection urlConnection = new URL(restapi).openConnection();
try {
URL obj = new URL(restapi);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("accept","application/json");
int responseCode = con.getResponseCode();
System.out.println(responseCode);
// if (responseCode == HttpURLConnection.HTTP_OK) { // success
BufferedReader in = new BufferedReader(new InputStreamReader(
con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// print result
System.out.println("reason"+response.toString());
服务器在C:\ Users \ xxx \ IdeaProjects \ Gemfire上DESKTOP-MRCV2EH [40404],因为server1当前在线 . 进程ID:2640正常运行时间:7秒Geode版本:9.5.1 Java版本:1 . 0 . 0 - 171日志文件:C:\ Users \ xxx \ IdeaProjects \ Gemfire \ server1.log JVM参数:-Dgemfire.enable-cluster-configuration = true -Dgemfire.load-cluster-configuration-from-dir = false -Dgemfire.jmx-manager-bind-address = localhost -Djava.rmi.server.hostname = localhost -Dgemfire.launcher.registerSignalHandlers = true -Djava.awt.headless = true -javaagent:C:\ Program Files \ JetBrains \ IntelliJ IDEA Community Edition 2017.3.2 \ lib \ idea_rt.jar = 54053:C:\ Program Files \ JetBrains \ IntelliJ IDEA Community Edition 2017.3.2 \ bin -Dfile.encoding = UTF-8
获取响应代码:-1,无效的Http响应 .
我该如何解决这个问题?
2 回答
我已在本地测试了您的源代码(加上一两个小修改),一切似乎都运行得很好:
运行上述程序将打印以下内容:
您是否正确设置了
GEODE_HOME
环境变量?,执行curl
命令时使用的port
与您通过http-service-port
属性配置的号码相同?干杯 .您似乎缺少源代码中的
GEODE_HOME
环境变量,这是启动期间服务器需要的,以便找到启动REST API所需的库,特别是install-dir/tools/Extensions/geode-web-api-n.n.n.war
. 您可以在Setup and Configuration找到有关此内容的更多详细信息 .希望这可以帮助 . 干杯 .