Fix the callback fails when the service is grouped (#9644)
This commit is contained in:
parent
4774c98497
commit
1bf7396fb7
|
|
@ -116,7 +116,7 @@ public class CallbackServiceCodec {
|
|||
params.put(IS_SERVER_KEY, Boolean.FALSE.toString());
|
||||
// mark it's a callback, for troubleshooting
|
||||
params.put(IS_CALLBACK_SERVICE, Boolean.TRUE.toString());
|
||||
String group = (url == null ? null : url.getGroup());
|
||||
String group = (inv == null ? null : (String) inv.getObjectAttachment(GROUP_KEY));
|
||||
if (group != null && group.length() > 0) {
|
||||
params.put(GROUP_KEY, group);
|
||||
}
|
||||
|
|
@ -266,7 +266,7 @@ public class CallbackServiceCodec {
|
|||
if (count != null && count >= limit) {
|
||||
//client side error
|
||||
throw new IllegalStateException("interface " + interfaceClass + " `s callback instances num exceed providers limit :" + limit
|
||||
+ " ,current num: " + (count + 1) + ". The new callback service will not work !!! you can cancle the callback service which exported before. channel :" + channel);
|
||||
+ " ,current num: " + (count + 1) + ". The new callback service will not work !!! you can cancle the callback service which exported before. channel :" + channel);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
|
@ -309,10 +309,10 @@ public class CallbackServiceCodec {
|
|||
Class<?>[] pts = inv.getParameterTypes();
|
||||
switch (callbackStatus) {
|
||||
case CallbackServiceCodec.CALLBACK_CREATE:
|
||||
inv.setAttachment(INV_ATT_CALLBACK_KEY + paraIndex, exportOrUnexportCallbackService(channel, inv, url, pts[paraIndex], args[paraIndex], true));
|
||||
inv.setAttachment(INV_ATT_CALLBACK_KEY + paraIndex, exportOrUnexportCallbackService(channel, inv, url, pts[paraIndex], args[paraIndex], true));
|
||||
return null;
|
||||
case CallbackServiceCodec.CALLBACK_DESTROY:
|
||||
inv.setAttachment(INV_ATT_CALLBACK_KEY + paraIndex, exportOrUnexportCallbackService(channel, inv, url, pts[paraIndex], args[paraIndex], false));
|
||||
inv.setAttachment(INV_ATT_CALLBACK_KEY + paraIndex, exportOrUnexportCallbackService(channel, inv, url, pts[paraIndex], args[paraIndex], false));
|
||||
return null;
|
||||
default:
|
||||
return args[paraIndex];
|
||||
|
|
|
|||
Loading…
Reference in New Issue