improve session processing

pull/1490/merge^2
gongdewei 4 years ago
parent 59a215fc44
commit f9d0950b7d

@ -84,6 +84,7 @@ public class ApiActionDelegateServiceImpl implements ApiActionDelegateService {
return Mono.just(ActionResponse.newBuilder() return Mono.just(ActionResponse.newBuilder()
.setAgentId(agentId) .setAgentId(agentId)
.setRequestId(requestId) .setRequestId(requestId)
.setSessionId(request.getSessionId())
.setStatus(ResponseStatus.CONTINUOUS) .setStatus(ResponseStatus.CONTINUOUS)
.build()); .build());
} }

@ -130,7 +130,17 @@ public class ChannelRequestHandler implements ChannelClient.RequestListener {
return; return;
} }
//handle other command request actions // handle init session (No session required)
switch (action) {
case INIT_SESSION:
processInitSession(request);
return;
case UNRECOGNIZED:
processUnrecognizedAction(request);
return;
}
// try reuse session
String sessionId = request.getSessionId(); String sessionId = request.getSessionId();
Session session = null; Session session = null;
if (!StringUtils.isBlank(sessionId)) { if (!StringUtils.isBlank(sessionId)) {
@ -139,7 +149,7 @@ public class ChannelRequestHandler implements ChannelClient.RequestListener {
throw new Exception("session not found: " + sessionId); throw new Exception("session not found: " + sessionId);
} }
} }
//handle other command request actions
switch (action) { switch (action) {
case EXECUTE: case EXECUTE:
processExec(request, session); processExec(request, session);
@ -147,15 +157,9 @@ public class ChannelRequestHandler implements ChannelClient.RequestListener {
case ASYNC_EXECUTE: case ASYNC_EXECUTE:
processAsyncExec(request, session); processAsyncExec(request, session);
return; return;
case INIT_SESSION:
processInitSession(request);
return;
case UNRECOGNIZED:
processUnrecognizedAction(request, session);
return;
} }
//required session // The following actions is required a session
if (session == null) { if (session == null) {
throw new Exception("session is required"); throw new Exception("session is required");
} }
@ -166,9 +170,6 @@ public class ChannelRequestHandler implements ChannelClient.RequestListener {
case CLOSE_SESSION: case CLOSE_SESSION:
processCloseSession(request, session); processCloseSession(request, session);
return; return;
// case JOIN_SESSION:
// processJoinSession(request, session);
// return;
} }
} }
@ -522,7 +523,7 @@ public class ChannelRequestHandler implements ChannelClient.RequestListener {
sendResponse(response); sendResponse(response);
} }
private void processUnrecognizedAction(ActionRequest request, Session session) { private void processUnrecognizedAction(ActionRequest request) {
ActionResponse.Builder response = ActionResponse.newBuilder() ActionResponse.Builder response = ActionResponse.newBuilder()
.setAgentId(request.getAgentId()) .setAgentId(request.getAgentId())
.setRequestId(request.getRequestId()) .setRequestId(request.getRequestId())

Loading…
Cancel
Save