change dubbo compiler verison 0.0.4-SNAPSHOT
diff --git a/dubbo-samples-triple/pom.xml b/dubbo-samples-triple/pom.xml
index 71b4621..ca71e15 100644
--- a/dubbo-samples-triple/pom.xml
+++ b/dubbo-samples-triple/pom.xml
@@ -31,7 +31,7 @@
     <properties>
         <source.level>1.8</source.level>
         <target.level>1.8</target.level>
-        <dubbo.version>3.0.2</dubbo.version>
+        <dubbo.version>3.0.2.1</dubbo.version>
         <grpc.version>1.40.1</grpc.version>
         <junit.version>4.12</junit.version>
         <spring-test.version>4.3.16.RELEASE</spring-test.version>
@@ -39,7 +39,7 @@
         <maven-failsafe-plugin.version>2.21.0</maven-failsafe-plugin.version>
         <spring-boot.version>1.5.13.RELEASE</spring-boot.version>
         <protoc.version>3.7.1</protoc.version>
-        <dubbo.compiler.version>0.0.3</dubbo.compiler.version>
+        <dubbo.compiler.version>0.0.4-SNAPSHOT</dubbo.compiler.version>
     </properties>
 
     <dependencies>
diff --git a/dubbo-samples-triple/src/main/java/org/apache/dubbo/sample/tri/TriSampleConstants.java b/dubbo-samples-triple/src/main/java/org/apache/dubbo/sample/tri/TriSampleConstants.java
index 3fba7a7..e782422 100644
--- a/dubbo-samples-triple/src/main/java/org/apache/dubbo/sample/tri/TriSampleConstants.java
+++ b/dubbo-samples-triple/src/main/java/org/apache/dubbo/sample/tri/TriSampleConstants.java
@@ -34,6 +34,8 @@
 
     public static final int DEFAULT_DUBBO_PORT = 20880;
 
+    public static final int CONSUMER_METADATA_SERVICE_PORT = 20881;
+
     public static final String HOST = System.getProperty("provider.host", "127.0.0.1");
 
     public static final String ZK_HOST = System.getProperty("zookeeper.host", "127.0.0.1");
diff --git a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/TriGenericTest.java b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/TriGenericTest.java
index a9632af..519c2f9 100644
--- a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/TriGenericTest.java
+++ b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/TriGenericTest.java
@@ -25,7 +25,9 @@
         ref.setGeneric("true");
         ref.setLazy(true);
         DubboBootstrap bootstrap = DubboBootstrap.getInstance();
-        bootstrap.application(new ApplicationConfig("demo-consumer"))
+        ApplicationConfig applicationConfig = new ApplicationConfig(TriGenericTest.class.getName());
+        applicationConfig.setMetadataServicePort(TriSampleConstants.CONSUMER_METADATA_SERVICE_PORT);
+        bootstrap.application(applicationConfig)
                 .registry(new RegistryConfig(TriSampleConstants.ZK_ADDRESS))
                 .reference(ref)
                 .start();
diff --git a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/TriPbConsumerTest.java b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/TriPbConsumerTest.java
index c274649..67db38a 100644
--- a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/TriPbConsumerTest.java
+++ b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/TriPbConsumerTest.java
@@ -28,7 +28,9 @@
         ref2.setTimeout(10000);
 
         DubboBootstrap bootstrap = DubboBootstrap.getInstance();
-        bootstrap.application(new ApplicationConfig("demo-consumer"))
+        ApplicationConfig applicationConfig = new ApplicationConfig(TriPbConsumerTest.class.getName());
+        applicationConfig.setMetadataServicePort(TriSampleConstants.CONSUMER_METADATA_SERVICE_PORT);
+        bootstrap.application(applicationConfig)
                 .registry(new RegistryConfig(TriSampleConstants.ZK_ADDRESS))
                 .reference(ref)
                 .reference(ref2)
diff --git a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/TriWrapConsumerTest.java b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/TriWrapConsumerTest.java
index 29ec622..9660590 100644
--- a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/TriWrapConsumerTest.java
+++ b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/TriWrapConsumerTest.java
@@ -31,7 +31,9 @@
         ref.setLazy(true);
 
         DubboBootstrap bootstrap = DubboBootstrap.getInstance();
-        bootstrap.application(new ApplicationConfig("demo-consumer"))
+        ApplicationConfig applicationConfig = new ApplicationConfig(TriWrapConsumerTest.class.getName());
+        applicationConfig.setMetadataServicePort(TriSampleConstants.CONSUMER_METADATA_SERVICE_PORT);
+        bootstrap.application(applicationConfig)
                 .registry(new RegistryConfig(TriSampleConstants.ZK_ADDRESS))
                 .reference(ref)
                 .start();
diff --git a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/application/TriAppPbConsumerTest.java b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/application/TriAppPbConsumerTest.java
index 2ff92b3..25aac97 100644
--- a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/application/TriAppPbConsumerTest.java
+++ b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/application/TriAppPbConsumerTest.java
@@ -31,7 +31,9 @@
         ref2.setTimeout(10000);
 
         DubboBootstrap bootstrap = DubboBootstrap.getInstance();
-        bootstrap.application(new ApplicationConfig("demo-consumer"))
+        ApplicationConfig applicationConfig = new ApplicationConfig(TriAppPbConsumerTest.class.getName());
+        applicationConfig.setMetadataServicePort(TriSampleConstants.CONSUMER_METADATA_SERVICE_PORT);
+        bootstrap.application(applicationConfig)
                 .registry(new RegistryConfig(TriSampleConstants.ZK_ADDRESS_MODE_INSTANCE))
                 .reference(ref)
                 .reference(ref2)
diff --git a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/application/TriAppWrapConsumerTest.java b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/application/TriAppWrapConsumerTest.java
index 200fb12..e5b9dca 100644
--- a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/application/TriAppWrapConsumerTest.java
+++ b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/application/TriAppWrapConsumerTest.java
@@ -7,6 +7,7 @@
 import org.apache.dubbo.config.bootstrap.DubboBootstrap;
 import org.apache.dubbo.sample.tri.BaseTriWrapConsumerTest;
 import org.apache.dubbo.sample.tri.TriSampleConstants;
+import org.apache.dubbo.sample.tri.direct.TriDirectWrapConsumerTest;
 import org.apache.dubbo.sample.tri.service.WrapGreeter;
 
 import org.junit.BeforeClass;
@@ -23,7 +24,9 @@
         ref.setLazy(true);
 
         DubboBootstrap bootstrap = DubboBootstrap.getInstance();
-        bootstrap.application(new ApplicationConfig("demo-consumer"))
+        ApplicationConfig applicationConfig = new ApplicationConfig(TriAppWrapConsumerTest.class.getName());
+        applicationConfig.setMetadataServicePort(TriSampleConstants.CONSUMER_METADATA_SERVICE_PORT);
+        bootstrap.application(applicationConfig)
                 .registry(new RegistryConfig(TriSampleConstants.ZK_ADDRESS_MODE_INSTANCE))
                 .reference(ref)
                 .start();
diff --git a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/direct/TriDirectPbConsumerTest.java b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/direct/TriDirectPbConsumerTest.java
index c0b0aef..fe2d630 100644
--- a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/direct/TriDirectPbConsumerTest.java
+++ b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/direct/TriDirectPbConsumerTest.java
@@ -6,6 +6,7 @@
 import org.apache.dubbo.config.bootstrap.DubboBootstrap;
 import org.apache.dubbo.sample.tri.BasePbConsumerTest;
 import org.apache.dubbo.sample.tri.PbGreeter;
+import org.apache.dubbo.sample.tri.TriGenericTest;
 import org.apache.dubbo.sample.tri.TriSampleConstants;
 import org.apache.dubbo.sample.tri.service.PbGreeterManual;
 
@@ -32,7 +33,9 @@
         ref2.setTimeout(10000);
 
         DubboBootstrap bootstrap = DubboBootstrap.getInstance();
-        bootstrap.application(new ApplicationConfig("demo-consumer"))
+        ApplicationConfig applicationConfig = new ApplicationConfig(TriDirectPbConsumerTest.class.getName());
+        applicationConfig.setMetadataServicePort(TriSampleConstants.CONSUMER_METADATA_SERVICE_PORT);
+        bootstrap.application(applicationConfig)
                 .reference(ref)
                 .reference(ref2)
                 .start();
diff --git a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/direct/TriDirectWrapConsumerTest.java b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/direct/TriDirectWrapConsumerTest.java
index c47afb5..f05e10a 100644
--- a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/direct/TriDirectWrapConsumerTest.java
+++ b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/direct/TriDirectWrapConsumerTest.java
@@ -23,7 +23,9 @@
         ref.setLazy(true);
 
         DubboBootstrap bootstrap = DubboBootstrap.getInstance();
-        bootstrap.application(new ApplicationConfig("demo-consumer"))
+        ApplicationConfig applicationConfig = new ApplicationConfig(TriDirectWrapConsumerTest.class.getName());
+        applicationConfig.setMetadataServicePort(TriSampleConstants.CONSUMER_METADATA_SERVICE_PORT);
+        bootstrap.application(applicationConfig)
                 .reference(ref)
                 .start();
         delegate = ref.get();
diff --git a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/inter/TriInterfacePbConsumerTest.java b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/inter/TriInterfacePbConsumerTest.java
index aea094d..6435039 100644
--- a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/inter/TriInterfacePbConsumerTest.java
+++ b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/inter/TriInterfacePbConsumerTest.java
@@ -8,6 +8,7 @@
 import org.apache.dubbo.sample.tri.BasePbConsumerTest;
 import org.apache.dubbo.sample.tri.PbGreeter;
 import org.apache.dubbo.sample.tri.TriSampleConstants;
+import org.apache.dubbo.sample.tri.application.TriAppWrapConsumerTest;
 import org.apache.dubbo.sample.tri.service.PbGreeterManual;
 
 import org.junit.BeforeClass;
@@ -31,7 +32,9 @@
         ref2.setTimeout(10000);
 
         DubboBootstrap bootstrap = DubboBootstrap.getInstance();
-        bootstrap.application(new ApplicationConfig("demo-consumer"))
+        ApplicationConfig applicationConfig = new ApplicationConfig(TriInterfacePbConsumerTest.class.getName());
+        applicationConfig.setMetadataServicePort(TriSampleConstants.CONSUMER_METADATA_SERVICE_PORT);
+        bootstrap.application(applicationConfig)
                 .registry(new RegistryConfig(TriSampleConstants.ZK_ADDRESS_MODE_INTERFACE))
                 .reference(ref)
                 .reference(ref2)
diff --git a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/inter/TriInterfaceWrapConsumerTest.java b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/inter/TriInterfaceWrapConsumerTest.java
index e69b372..c5f0ac6 100644
--- a/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/inter/TriInterfaceWrapConsumerTest.java
+++ b/dubbo-samples-triple/src/test/java/org/apache/dubbo/sample/tri/inter/TriInterfaceWrapConsumerTest.java
@@ -24,7 +24,9 @@
         ref.setLazy(true);
 
         DubboBootstrap bootstrap = DubboBootstrap.getInstance();
-        bootstrap.application(new ApplicationConfig("demo-consumer"))
+        ApplicationConfig applicationConfig = new ApplicationConfig(TriInterfaceWrapConsumerTest.class.getName());
+        applicationConfig.setMetadataServicePort(TriSampleConstants.CONSUMER_METADATA_SERVICE_PORT);
+        bootstrap.application(applicationConfig)
                 .registry(new RegistryConfig(TriSampleConstants.ZK_ADDRESS_MODE_INTERFACE))
                 .reference(ref)
                 .start();