[type:fix] Fix #5332 (#5338)

Co-authored-by: xiaoyu <xiaoyu@apache.org>
diff --git a/shenyu-web/src/main/java/org/apache/shenyu/web/handler/ShenyuWebHandler.java b/shenyu-web/src/main/java/org/apache/shenyu/web/handler/ShenyuWebHandler.java
index 29eacc6..30bcad8 100644
--- a/shenyu-web/src/main/java/org/apache/shenyu/web/handler/ShenyuWebHandler.java
+++ b/shenyu-web/src/main/java/org/apache/shenyu/web/handler/ShenyuWebHandler.java
@@ -136,6 +136,9 @@
         }
         // copy new list
         List<ShenyuPlugin> newPluginList = new ArrayList<>(plugins);
+        
+        // Add extend plugin from pluginData or shenyu ext-lib
+        this.sourcePlugins.addAll(shenyuAddPlugins);
 
         if (CollectionUtils.isNotEmpty(shenyuAddPlugins)) {
             shenyuAddPlugins.forEach(plugin -> LOG.info("shenyu auto add extends plugins:{}", plugin.named()));
@@ -149,6 +152,11 @@
                         newPluginList.set(i, updatePlugin);
                     }
                 }
+                for (int i = 0; i < this.sourcePlugins.size(); i++) {
+                    if (this.sourcePlugins.get(i).named().equals(updatePlugin.named())) {
+                        this.sourcePlugins.set(i, updatePlugin);
+                    }
+                }
             }
         }
         plugins = sortPlugins(newPluginList);