This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch performance-tuning-2.7.x
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/performance-tuning-2.7.x by
this push:
new 276c0a3 performance tuning: avoid duplicate channel status check
(#4254)
276c0a3 is described below
commit 276c0a3e57453d575688a496c0da0cc3d5705aa2
Author: ken.lj <[email protected]>
AuthorDate: Wed Jun 5 15:43:47 2019 +0800
performance tuning: avoid duplicate channel status check (#4254)
---
.../support/header/HeaderExchangeChannel.java | 6 ++
.../support/header/HeaderExchangeHandler.java | 65 +++++++++-------------
.../remoting/transport/netty4/NettyChannel.java | 30 +++++++++-
.../remoting/transport/netty4/NettyClient.java | 6 +-
.../transport/netty4/NettyClientHandler.java | 38 +++++--------
.../transport/netty4/NettyCodecAdapter.java | 42 ++++++--------
.../transport/netty4/NettyServerHandler.java | 24 ++------
.../rpc/protocol/dubbo/DecodeableRpcResult.java | 1 -
.../dubbo/rpc/protocol/rest/RestProtocolTest.java | 20 +++----
9 files changed, 109 insertions(+), 123 deletions(-)
diff --git
a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/HeaderExchangeChannel.java
b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/HeaderExchangeChannel.java
index f96207b..b954612 100644
---
a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/HeaderExchangeChannel.java
+++
b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/HeaderExchangeChannel.java
@@ -76,6 +76,12 @@ final class HeaderExchangeChannel implements ExchangeChannel
{
}
}
+ static void removeChannel(Channel ch) {
+ if (ch != null) {
+ ch.removeAttribute(CHANNEL_KEY);
+ }
+ }
+
@Override
public void send(Object message) throws RemotingException {
send(message, false);
diff --git
a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/HeaderExchangeHandler.java
b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/HeaderExchangeHandler.java
index 23fe27c..d60c9ca 100644
---
a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/HeaderExchangeHandler.java
+++
b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/header/HeaderExchangeHandler.java
@@ -108,8 +108,6 @@ public class HeaderExchangeHandler implements
ChannelHandlerDelegate {
channel.send(res);
} catch (RemotingException e) {
logger.warn("Send result to consumer failed, channel is "
+ channel + ", msg is " + e);
- } finally {
- //
HeaderExchangeChannel.removeChannelIfDisconnected(channel);
}
});
} catch (Throwable e) {
@@ -122,11 +120,7 @@ public class HeaderExchangeHandler implements
ChannelHandlerDelegate {
@Override
public void connected(Channel channel) throws RemotingException {
ExchangeChannel exchangeChannel =
HeaderExchangeChannel.getOrAddChannel(channel);
- try {
- handler.connected(exchangeChannel);
- } finally {
- HeaderExchangeChannel.removeChannelIfDisconnected(channel);
- }
+ handler.connected(exchangeChannel);
}
@Override
@@ -136,7 +130,7 @@ public class HeaderExchangeHandler implements
ChannelHandlerDelegate {
handler.disconnected(exchangeChannel);
} finally {
DefaultFuture.closeChannel(channel);
- HeaderExchangeChannel.removeChannelIfDisconnected(channel);
+ HeaderExchangeChannel.removeChannel(channel);
}
}
@@ -145,13 +139,10 @@ public class HeaderExchangeHandler implements
ChannelHandlerDelegate {
Throwable exception = null;
try {
ExchangeChannel exchangeChannel =
HeaderExchangeChannel.getOrAddChannel(channel);
- try {
- handler.sent(exchangeChannel, message);
- } finally {
- HeaderExchangeChannel.removeChannelIfDisconnected(channel);
- }
+ handler.sent(exchangeChannel, message);
} catch (Throwable t) {
exception = t;
+ HeaderExchangeChannel.removeChannelIfDisconnected(channel);
}
if (message instanceof Request) {
Request request = (Request) message;
@@ -172,36 +163,32 @@ public class HeaderExchangeHandler implements
ChannelHandlerDelegate {
@Override
public void received(Channel channel, Object message) throws
RemotingException {
final ExchangeChannel exchangeChannel =
HeaderExchangeChannel.getOrAddChannel(channel);
- try {
- if (message instanceof Request) {
- // handle request.
- Request request = (Request) message;
- if (request.isEvent()) {
- handlerEvent(channel, request);
- } else {
- if (request.isTwoWay()) {
- handleRequest(exchangeChannel, request);
- } else {
- handler.received(exchangeChannel, request.getData());
- }
- }
- } else if (message instanceof Response) {
- handleResponse(channel, (Response) message);
- } else if (message instanceof String) {
- if (isClientSide(channel)) {
- Exception e = new Exception("Dubbo client can not
supported string message: " + message + " in channel: " + channel + ", url: " +
channel.getUrl());
- logger.error(e.getMessage(), e);
+ if (message instanceof Request) {
+ // handle request.
+ Request request = (Request) message;
+ if (request.isEvent()) {
+ handlerEvent(channel, request);
+ } else {
+ if (request.isTwoWay()) {
+ handleRequest(exchangeChannel, request);
} else {
- String echo = handler.telnet(channel, (String) message);
- if (echo != null && echo.length() > 0) {
- channel.send(echo);
- }
+ handler.received(exchangeChannel, request.getData());
}
+ }
+ } else if (message instanceof Response) {
+ handleResponse(channel, (Response) message);
+ } else if (message instanceof String) {
+ if (isClientSide(channel)) {
+ Exception e = new Exception("Dubbo client can not supported
string message: " + message + " in channel: " + channel + ", url: " +
channel.getUrl());
+ logger.error(e.getMessage(), e);
} else {
- handler.received(exchangeChannel, message);
+ String echo = handler.telnet(channel, (String) message);
+ if (echo != null && echo.length() > 0) {
+ channel.send(echo);
+ }
}
- } finally {
- HeaderExchangeChannel.removeChannelIfDisconnected(channel);
+ } else {
+ handler.received(exchangeChannel, message);
}
}
diff --git
a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyChannel.java
b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyChannel.java
index f8bbcf6..d0dfa7c 100644
---
a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyChannel.java
+++
b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyChannel.java
@@ -30,6 +30,7 @@ import java.net.InetSocketAddress;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.atomic.AtomicBoolean;
import static
org.apache.dubbo.common.constants.CommonConstants.DEFAULT_TIMEOUT;
import static org.apache.dubbo.common.constants.CommonConstants.TIMEOUT_KEY;
@@ -50,6 +51,9 @@ final class NettyChannel extends AbstractChannel {
private final Channel channel;
private final Map<String, Object> attributes = new
ConcurrentHashMap<String, Object>();
+
+ private final AtomicBoolean active = new AtomicBoolean(false);
+
/**
* The constructor of NettyChannel.
* It is private so NettyChannel usually create by {@link
NettyChannel#getOrAddChannel(Channel, URL, ChannelHandler)}
@@ -82,6 +86,7 @@ final class NettyChannel extends AbstractChannel {
if (ret == null) {
NettyChannel nettyChannel = new NettyChannel(ch, url, handler);
if (ch.isActive()) {
+ nettyChannel.markActive(true);
ret = CHANNEL_MAP.putIfAbsent(ch, nettyChannel);
}
if (ret == null) {
@@ -97,7 +102,19 @@ final class NettyChannel extends AbstractChannel {
*/
static void removeChannelIfDisconnected(Channel ch) {
if (ch != null && !ch.isActive()) {
- CHANNEL_MAP.remove(ch);
+ NettyChannel nettyChannel = CHANNEL_MAP.remove(ch);
+ if (nettyChannel != null) {
+ nettyChannel.markActive(false);
+ }
+ }
+ }
+
+ static void removeChannel(Channel ch) {
+ if (ch != null) {
+ NettyChannel nettyChannel = CHANNEL_MAP.remove(ch);
+ if (nettyChannel != null) {
+ nettyChannel.markActive(false);
+ }
}
}
@@ -113,7 +130,15 @@ final class NettyChannel extends AbstractChannel {
@Override
public boolean isConnected() {
- return !isClosed() && channel.isActive();
+ return !isClosed() && active.get();
+ }
+
+ public boolean isActive() {
+ return active.get();
+ }
+
+ public void markActive(boolean isActive) {
+ active.set(isActive);
}
/**
@@ -142,6 +167,7 @@ final class NettyChannel extends AbstractChannel {
throw cause;
}
} catch (Throwable e) {
+ removeChannelIfDisconnected(channel);
throw new RemotingException(this, "Failed to send message " +
message + " to " + getRemoteAddress() + ", cause: " + e.getMessage(), e);
}
if (!success) {
diff --git
a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyClient.java
b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyClient.java
index 3c32a9c..f541600 100644
---
a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyClient.java
+++
b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyClient.java
@@ -40,10 +40,10 @@ import io.netty.handler.proxy.Socks5ProxyHandler;
import io.netty.handler.timeout.IdleStateHandler;
import io.netty.util.concurrent.DefaultThreadFactory;
-import static java.util.concurrent.TimeUnit.MILLISECONDS;
-
import java.net.InetSocketAddress;
+import static java.util.concurrent.TimeUnit.MILLISECONDS;
+
/**
* NettyClient.
*/
@@ -197,7 +197,7 @@ public class NettyClient extends AbstractClient {
@Override
protected org.apache.dubbo.remoting.Channel getChannel() {
Channel c = channel;
- if (c == null || !c.isActive()) {
+ if (c == null) {
return null;
}
return NettyChannel.getOrAddChannel(c, getUrl(), this);
diff --git
a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyClientHandler.java
b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyClientHandler.java
index 8ff2d98..59db445 100644
---
a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyClientHandler.java
+++
b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyClientHandler.java
@@ -55,11 +55,7 @@ public class NettyClientHandler extends ChannelDuplexHandler
{
@Override
public void channelActive(ChannelHandlerContext ctx) throws Exception {
NettyChannel channel = NettyChannel.getOrAddChannel(ctx.channel(),
url, handler);
- try {
- handler.connected(channel);
- } finally {
- NettyChannel.removeChannelIfDisconnected(ctx.channel());
- }
+ handler.connected(channel);
}
@Override
@@ -68,18 +64,14 @@ public class NettyClientHandler extends
ChannelDuplexHandler {
try {
handler.disconnected(channel);
} finally {
- NettyChannel.removeChannelIfDisconnected(ctx.channel());
+ NettyChannel.removeChannel(ctx.channel());
}
}
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws
Exception {
NettyChannel channel = NettyChannel.getOrAddChannel(ctx.channel(),
url, handler);
- try {
- handler.received(channel, msg);
- } finally {
- NettyChannel.removeChannelIfDisconnected(ctx.channel());
- }
+ handler.received(channel, msg);
}
@Override
@@ -92,21 +84,17 @@ public class NettyClientHandler extends
ChannelDuplexHandler {
// If our out bound event has an error (in most cases the encoder
fails),
// we need to have the request return directly instead of blocking the
invoke process.
promise.addListener(future -> {
- try {
- if (future.isSuccess()) {
- // if our future is success, mark the future to sent.
- handler.sent(channel, msg);
- return;
- }
+ if (future.isSuccess()) {
+ // if our future is success, mark the future to sent.
+ handler.sent(channel, msg);
+ return;
+ }
- Throwable t = future.cause();
- if (t != null && isRequest) {
- Request request = (Request) msg;
- Response response = buildErrorResponse(request, t);
- handler.received(channel, response);
- }
- } finally {
- NettyChannel.removeChannelIfDisconnected(ctx.channel());
+ Throwable t = future.cause();
+ if (t != null && isRequest) {
+ Request request = (Request) msg;
+ Response response = buildErrorResponse(request, t);
+ handler.received(channel, response);
}
});
}
diff --git
a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyCodecAdapter.java
b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyCodecAdapter.java
index e0e4513..d1cb65b 100644
---
a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyCodecAdapter.java
+++
b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyCodecAdapter.java
@@ -66,11 +66,7 @@ final public class NettyCodecAdapter {
org.apache.dubbo.remoting.buffer.ChannelBuffer buffer = new
NettyBackedChannelBuffer(out);
Channel ch = ctx.channel();
NettyChannel channel = NettyChannel.getOrAddChannel(ch, url,
handler);
- try {
- codec.encode(channel, buffer, msg);
- } finally {
- NettyChannel.removeChannelIfDisconnected(ch);
- }
+ codec.encode(channel, buffer, msg);
}
}
@@ -83,27 +79,23 @@ final public class NettyCodecAdapter {
NettyChannel channel = NettyChannel.getOrAddChannel(ctx.channel(),
url, handler);
- try {
- // decode object.
- do {
- int saveReaderIndex = message.readerIndex();
- Object msg = codec.decode(channel, message);
- if (msg == Codec2.DecodeResult.NEED_MORE_INPUT) {
- message.readerIndex(saveReaderIndex);
- break;
- } else {
- //is it possible to go here ?
- if (saveReaderIndex == message.readerIndex()) {
- throw new IOException("Decode without read data.");
- }
- if (msg != null) {
- out.add(msg);
- }
+ // decode object.
+ do {
+ int saveReaderIndex = message.readerIndex();
+ Object msg = codec.decode(channel, message);
+ if (msg == Codec2.DecodeResult.NEED_MORE_INPUT) {
+ message.readerIndex(saveReaderIndex);
+ break;
+ } else {
+ //is it possible to go here ?
+ if (saveReaderIndex == message.readerIndex()) {
+ throw new IOException("Decode without read data.");
}
- } while (message.readable());
- } finally {
- NettyChannel.removeChannelIfDisconnected(ctx.channel());
- }
+ if (msg != null) {
+ out.add(msg);
+ }
+ }
+ } while (message.readable());
}
}
}
diff --git
a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyServerHandler.java
b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyServerHandler.java
index e62ab72..33ad9c9 100644
---
a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyServerHandler.java
+++
b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyServerHandler.java
@@ -66,14 +66,10 @@ public class NettyServerHandler extends
ChannelDuplexHandler {
@Override
public void channelActive(ChannelHandlerContext ctx) throws Exception {
NettyChannel channel = NettyChannel.getOrAddChannel(ctx.channel(),
url, handler);
- try {
- if (channel != null) {
- channels.put(NetUtils.toAddressString((InetSocketAddress)
ctx.channel().remoteAddress()), channel);
- }
- handler.connected(channel);
- } finally {
- NettyChannel.removeChannelIfDisconnected(ctx.channel());
+ if (channel != null) {
+ channels.put(NetUtils.toAddressString((InetSocketAddress)
ctx.channel().remoteAddress()), channel);
}
+ handler.connected(channel);
}
@Override
@@ -83,18 +79,14 @@ public class NettyServerHandler extends
ChannelDuplexHandler {
channels.remove(NetUtils.toAddressString((InetSocketAddress)
ctx.channel().remoteAddress()));
handler.disconnected(channel);
} finally {
- NettyChannel.removeChannelIfDisconnected(ctx.channel());
+ NettyChannel.removeChannel(ctx.channel());
}
}
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws
Exception {
NettyChannel channel = NettyChannel.getOrAddChannel(ctx.channel(),
url, handler);
- try {
- handler.received(channel, msg);
- } finally {
- NettyChannel.removeChannelIfDisconnected(ctx.channel());
- }
+ handler.received(channel, msg);
}
@@ -102,11 +94,7 @@ public class NettyServerHandler extends
ChannelDuplexHandler {
public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise
promise) throws Exception {
super.write(ctx, msg, promise);
NettyChannel channel = NettyChannel.getOrAddChannel(ctx.channel(),
url, handler);
- try {
- handler.sent(channel, msg);
- } finally {
- NettyChannel.removeChannelIfDisconnected(ctx.channel());
- }
+ handler.sent(channel, msg);
}
@Override
diff --git
a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/DecodeableRpcResult.java
b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/DecodeableRpcResult.java
index 2a190ad..1a2347c 100644
---
a/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/DecodeableRpcResult.java
+++
b/dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/DecodeableRpcResult.java
@@ -74,7 +74,6 @@ public class DecodeableRpcResult extends AppResponse
implements Codec, Decodeabl
@Override
public Object decode(Channel channel, InputStream input) throws
IOException {
- log.debug("Decoding in thread -- " + Thread.currentThread().getName());
ObjectInput in = CodecSupport.getSerialization(channel.getUrl(),
serializationType)
.deserialize(channel.getUrl(), input);
diff --git
a/dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/RestProtocolTest.java
b/dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/RestProtocolTest.java
index f3d77af..415e684 100644
---
a/dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/RestProtocolTest.java
+++
b/dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/RestProtocolTest.java
@@ -55,7 +55,7 @@ public class RestProtocolTest {
public void testRestProtocol() {
URL url =
URL.valueOf("rest://127.0.0.1:5342/rest/say?version=1.0.0&interface=org.apache.dubbo.rpc.protocol.rest.DemoService");
DemoServiceImpl server = new DemoServiceImpl();
- ProviderModel providerModel = new ProviderModel(url.getPathKey(),
server, DemoService.class);
+ ProviderModel providerModel = new ProviderModel(url.getPathKey(),
server, ApplicationModel.registerServiceModel(DemoService.class));
ApplicationModel.initProviderModel(url.getPathKey(), providerModel);
Exporter<DemoService> exporter =
protocol.export(proxy.getInvoker(server, DemoService.class, url));
@@ -75,7 +75,7 @@ public class RestProtocolTest {
DemoServiceImpl server = new DemoServiceImpl();
Assertions.assertFalse(server.isCalled());
URL url =
URL.valueOf("rest://127.0.0.1:5341/a/b/c?version=1.0.0&interface=org.apache.dubbo.rpc.protocol.rest.DemoService");
- ProviderModel providerModel = new ProviderModel(url.getPathKey(),
server, DemoService.class);
+ ProviderModel providerModel = new ProviderModel(url.getPathKey(),
server, ApplicationModel.registerServiceModel(DemoService.class));
ApplicationModel.initProviderModel(url.getPathKey(), providerModel);
Exporter<DemoService> exporter =
protocol.export(proxy.getInvoker(server, DemoService.class, url));
@@ -93,7 +93,7 @@ public class RestProtocolTest {
@Test
public void testExport() {
DemoService server = new DemoServiceImpl();
- ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server, DemoService.class);
+ ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server,
ApplicationModel.registerServiceModel(DemoService.class));
ApplicationModel.initProviderModel(exportUrl.getServiceKey(),
providerModel);
RpcContext.getContext().setAttachment("timeout", "200");
@@ -110,7 +110,7 @@ public class RestProtocolTest {
@Test
public void testNettyServer() {
DemoService server = new DemoServiceImpl();
- ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server, DemoService.class);
+ ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server,
ApplicationModel.registerServiceModel(DemoService.class));
ApplicationModel.initProviderModel(exportUrl.getServiceKey(),
providerModel);
URL nettyUrl = exportUrl.addParameter(SERVER_KEY, "netty");
@@ -128,7 +128,7 @@ public class RestProtocolTest {
public void testServletWithoutWebConfig() {
Assertions.assertThrows(RpcException.class, () -> {
DemoService server = new DemoServiceImpl();
- ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server, DemoService.class);
+ ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server,
ApplicationModel.registerServiceModel(DemoService.class));
ApplicationModel.initProviderModel(exportUrl.getPathKey(),
providerModel);
URL servletUrl = exportUrl.addParameter(SERVER_KEY, "servlet");
@@ -141,7 +141,7 @@ public class RestProtocolTest {
public void testErrorHandler() {
Assertions.assertThrows(RpcException.class, () -> {
DemoService server = new DemoServiceImpl();
- ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server, DemoService.class);
+ ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server,
ApplicationModel.registerServiceModel(DemoService.class));
ApplicationModel.initProviderModel(exportUrl.getServiceKey(),
providerModel);
URL nettyUrl = exportUrl.addParameter(SERVER_KEY, "netty");
@@ -156,7 +156,7 @@ public class RestProtocolTest {
@Test
public void testInvoke() {
DemoService server = new DemoServiceImpl();
- ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server, DemoService.class);
+ ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server,
ApplicationModel.registerServiceModel(DemoService.class));
ApplicationModel.initProviderModel(exportUrl.getServiceKey(),
providerModel);
@@ -171,7 +171,7 @@ public class RestProtocolTest {
@Test
public void testFilter() {
DemoService server = new DemoServiceImpl();
- ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server, DemoService.class);
+ ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server,
ApplicationModel.registerServiceModel(DemoService.class));
ApplicationModel.initProviderModel(exportUrl.getServiceKey(),
providerModel);
URL nettyUrl = exportUrl.addParameter(SERVER_KEY, "netty")
@@ -190,7 +190,7 @@ public class RestProtocolTest {
@Test
public void testRpcContextFilter() {
DemoService server = new DemoServiceImpl();
- ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server, DemoService.class);
+ ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server,
ApplicationModel.registerServiceModel(DemoService.class));
ApplicationModel.initProviderModel(exportUrl.getServiceKey(),
providerModel);
// use RpcContextFilter
@@ -214,7 +214,7 @@ public class RestProtocolTest {
public void testRegFail() {
Assertions.assertThrows(RuntimeException.class, () -> {
DemoService server = new DemoServiceImpl();
- ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server, DemoService.class);
+ ProviderModel providerModel = new
ProviderModel(exportUrl.getServiceKey(), server,
ApplicationModel.registerServiceModel(DemoService.class));
ApplicationModel.initProviderModel(exportUrl.getServiceKey(),
providerModel);
URL nettyUrl = exportUrl.addParameter(EXTENSION_KEY,
"com.not.existing.Filter");