Browse Source

async not needed callback

pull/3/MERGE
CalvinKirs 4 years ago
parent
commit
98d2406e5a
  1. 13
      dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/rpc/client/ConsumerInterceptor.java
  2. 52
      dolphinscheduler-remote/src/test/java/org/apache/dolphinscheduler/rpc/MainTest.java
  3. 26
      dolphinscheduler-remote/src/test/java/org/apache/dolphinscheduler/rpc/Server.java

13
dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/rpc/client/ConsumerInterceptor.java

@ -65,16 +65,11 @@ public class ConsumerInterceptor {
int retries = consumerConfig.getRetries();
RpcProtocol protocol = buildProtocol(request);
RpcProtocol<RpcRequest> protocol = buildProtocol(request);
while (retries-- > 0) {
RpcResponse rsp = null;
try {
rsp = nettyClient.sendMsg(host, protocol, async);
} catch (InterruptedException e) {
logger.warn("send msg error ", e);
Thread.currentThread().interrupt();
}
RpcResponse rsp;
rsp = nettyClient.sendMsg(host, protocol, async);
//success
if (null != rsp && rsp.getStatus() == 0) {
return rsp.getResult();
@ -115,7 +110,7 @@ public class ConsumerInterceptor {
return consumerConfig;
}
private RpcProtocol buildProtocol(RpcRequest req) {
private RpcProtocol<RpcRequest> buildProtocol(RpcRequest req) {
RpcProtocol<RpcRequest> protocol = new RpcProtocol<>();
MessageHeader header = new MessageHeader();
header.setRequestId(RpcRequestTable.getRequestId());

52
dolphinscheduler-remote/src/test/java/org/apache/dolphinscheduler/rpc/MainTest.java

@ -1,52 +0,0 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.dolphinscheduler.rpc;
import org.apache.dolphinscheduler.remote.utils.Host;
import org.apache.dolphinscheduler.rpc.client.IRpcClient;
import org.apache.dolphinscheduler.rpc.client.RpcClient;
import org.apache.dolphinscheduler.rpc.remote.NettyClient;
import org.junit.Assert;
public class MainTest {
private IUserService userService;
private Host host;
public static void main(String[] args) throws Exception {
IRpcClient rpcClient = new RpcClient();
Host host = new Host("127.0.0.1", 12346);
IUserService userService = rpcClient.create(IUserService.class, host);
}
public void sendTest() {
Integer result = userService.hi(3);
Assert.assertSame(4, result);
result = userService.hi(4);
Assert.assertSame(5, result);
userService.say("sync");
NettyClient.getInstance().close();
}
}

26
dolphinscheduler-remote/src/test/java/org/apache/dolphinscheduler/rpc/Server.java

@ -1,26 +0,0 @@
package org.apache.dolphinscheduler.rpc;/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import org.apache.dolphinscheduler.remote.config.NettyServerConfig;
import org.apache.dolphinscheduler.rpc.remote.NettyServer;
public class Server {
public static void main(String[] args) {
NettyServer nettyServer = new NettyServer(new NettyServerConfig());
}
}
Loading…
Cancel
Save