Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ private Object decode(TProtocol protocol)

// version
String serviceName;
String path;
long id;

TMessage message;
Expand All @@ -171,6 +172,7 @@ private Object decode(TProtocol protocol)
protocol.readI16();
protocol.readByte();
serviceName = protocol.readString();
path = protocol.readString();
id = protocol.readI64();
message = protocol.readMessageBegin();
} catch (TException e) {
Expand All @@ -181,6 +183,7 @@ private Object decode(TProtocol protocol)

RpcInvocation result = new RpcInvocation();
result.setAttachment(Constants.INTERFACE_KEY, serviceName);
result.setAttachment(Constants.PATH_KEY, path);
result.setMethodName(message.name);

String argsClassName = ExtensionLoader.getExtensionLoader(ClassNameGenerator.class)
Expand Down Expand Up @@ -496,6 +499,8 @@ private void encodeRequest(Channel channel, ChannelBuffer buffer, Request reques
protocol.writeByte(VERSION);
// service name
protocol.writeString(serviceName);
// path
protocol.writeString(inv.getAttachment(Constants.PATH_KEY));
Comment thread
chickenlj marked this conversation as resolved.
// dubbo request id
protocol.writeI64(request.getId());
protocol.getTransport().flush();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ public CompletableFuture<Object> reply(ExchangeChannel channel, Object msg) thro

if (msg instanceof Invocation) {
Invocation inv = (Invocation) msg;
String serviceName = inv.getAttachments().get(Constants.INTERFACE_KEY);
String path = inv.getAttachments().get(Constants.PATH_KEY);
Comment thread
chickenlj marked this conversation as resolved.
String serviceKey = serviceKey(channel.getLocalAddress().getPort(),
serviceName, null, null);
path, null, null);
DubboExporter<?> exporter = (DubboExporter<?>) exporterMap.get(serviceKey);
if (exporter == null) {
throw new RemotingException(channel,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,8 @@ public void testEncodeRequest() throws Exception {
Assertions.assertEquals(ThriftCodec.VERSION, protocol.readByte());
// service name
Assertions.assertEquals(Demo.Iface.class.getName(), protocol.readString());
// path
Assertions.assertEquals(Demo.Iface.class.getName(), protocol.readString());
// dubbo request id
Assertions.assertEquals(request.getId(), protocol.readI64());

Expand Down Expand Up @@ -148,6 +150,8 @@ public void testDecodeReplyResponse() throws Exception {
protocol.writeI16(Short.MAX_VALUE);
protocol.writeByte(ThriftCodec.VERSION);
protocol.writeString(Demo.Iface.class.getName());
// path
protocol.writeString(Demo.Iface.class.getName());
protocol.writeI64(request.getId());
protocol.getTransport().flush();
headerLength = bos.size();
Expand Down Expand Up @@ -221,6 +225,8 @@ public void testDecodeExceptionResponse() throws Exception {
protocol.writeI16(Short.MAX_VALUE);
protocol.writeByte(ThriftCodec.VERSION);
protocol.writeString(Demo.class.getName());
// path
protocol.writeString(Demo.class.getName());
protocol.writeI64(request.getId());
protocol.getTransport().flush();
headerLength = bos.size();
Expand Down Expand Up @@ -396,6 +402,9 @@ public void testDecodeRequest() throws Exception {
protocol.writeString(
((RpcInvocation) request.getData())
.getAttachment(Constants.INTERFACE_KEY));
protocol.writeString(
((RpcInvocation) request.getData())
.getAttachment(Constants.PATH_KEY));
protocol.writeI64(request.getId());
protocol.getTransport().flush();
headerLength = bos.size();
Expand Down Expand Up @@ -448,6 +457,7 @@ private Request createRequest() {
invocation.setParameterTypes(new Class<?>[]{String.class});

invocation.setAttachment(Constants.INTERFACE_KEY, Demo.Iface.class.getName());
invocation.setAttachment(Constants.PATH_KEY, Demo.Iface.class.getName());

Request request = new Request(1L);

Expand Down