在此处输入图像说明public class GemfireTest extends 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 on Desktop-MRCV2EH[40404]中的服务器,因为server1当前联机。进程ID:2640正常运行时间:7秒Geode版本:9.5.1 Java版本:1.8.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
正在获取响应代码:-1,无效的Http响应。
我该如何解决这个问题?
我已经在本地测试了您的源代码(加上一个/两个小修改),看起来一切都运行得很好:
public static void main(String[] args) throws IOException {
Integer httpServicePort = 8080;
ServerLauncher serverLauncher =
new ServerLauncher.Builder()
.set("log-file", "")
.set("http-service-port", httpServicePort.toString())
.set("start-dev-rest-api", "true")
.set("http-service-bind-address", "localhost")
.setPdxReadSerialized(true)
.build();
serverLauncher.start();
System.out.println("REST server successfully started, press any key to stop it...");
String restapi ="http://localhost:" + httpServicePort + "/gemfire-api/v1/";
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("Response Code: " + 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();
System.out.println("Response: " + response.toString());
}
} catch (Exception exception) {
exception.printStackTrace();
}
System.in.read();
serverLauncher.stop();
System.exit(0);
}
运行上述程序将打印以下内容:
REST server successfully started, press any key to stop it...
Response Code: 200
Response: { "regions" : [ ]}
是否正确设置了geode_home
环境变量?执行curl
命令时使用的port
是什么?是否与您通过http-service-port
属性配置的数字相同?。干杯。
主要内容:HTTP响应完整格式HTTP响应完整格式 HTTP的响应也由三部分组成(响应行+响应头+响应体): 以下是一个实际的HTTP响应示例: ①报文协议及版本; ②状态码及状态描述; ③响应报文头,也是由多个属性组成; ④响应报文体,即我们真正要的“干货”。
基本响应 当然,所有的路由及控制器必须返回某个类型的响应,并发送回用户的浏览器。Laravel 提供了几种不同的方法来返回响应。最基本的响应就是从路由或控制器简单的返回一个字符串: $router->get('/', function () { return 'Hello World'; }); 指定的字符串会被框架自动转换成 HTTP 响应。 响应对象 但是,对于大多数路由和控制器行为
Blade 中操作响应的对象是 Response 发送文本 Response#text 用于发送一个状态码为 200 的文本响应 public void responseText(Response response){ response.text("Hello World"); } 发送HTML Response#html 用于发送一个状态码为 200 的HTML响应 public voi
我正在尝试上传一个xml文件。当使用MultipartEntityBuilder将二进制格式的文件添加到HttpEntity时,我收到以下错误 我已经通过了链接 https://www.baeldung.com/httpclient-multipart-upload 我的理解是,该文件不被接受,因为http实体无法发送MultipartEntityBuilder,但我可能错了。
我正在使用WSO2发送Rest请求,这是我能够做到的。但是在我向客户发送响应之前,我希望有一些逻辑。后端Rest服务返回“成功”作为响应字符串。我有一个Java的代码用来做这件事,我想在WSO2中使用相同的逻辑。逻辑很简单1.如果HTTP状态大于eq到200并且小于300并且共振Str.equalsIgnoreCase(成功)然后返回RetCode=C; Message=成功ELSE返回RetCo
Pivotal GemFire 是内存中的分布式数据库,提供: 性能扩展 通过全局的分布式应用进行一致的数据库操作 高可用性和高伸缩性,全局规模 强大的开发者特性 简单的分布式节点管理 作为世界规模最大的实时交易系统之一12306就是使用的#GemFire#