func (e *exportedServicesRevisionMetadataCustomizer) Customize(instance registry.ServiceInstance) {
	ms, err := local.GetLocalMetadataService()
	if err != nil {
		logger.Errorf("could not get metadata service", err)
		return
	}
	urls, err := ms.GetExportedURLs(constant.ANY_VALUE, constant.ANY_VALUE, constant.ANY_VALUE, constant.ANY_VALUE)
	if err != nil {
		logger.Errorf("could not find the exported url", err)
	}
	revision := resolveRevision(urls)
	if len(revision) == 0 {
		revision = defaultRevision
	}
	instance.GetMetadata()[constant.EXPORTED_SERVICES_REVISION_PROPERTY_NAME] = revision
}
Customize calculate the revision for exported urls and then put it into instance metadata
package event
import (
	"fmt"
	"hash/crc32"
	"sort"
)
import (
	"dubbo.apache.org/dubbo-go/v3/common"
	"dubbo.apache.org/dubbo-go/v3/common/constant"
	"dubbo.apache.org/dubbo-go/v3/common/extension"
	"dubbo.apache.org/dubbo-go/v3/common/logger"
	"dubbo.apache.org/dubbo-go/v3/metadata/service/local"
	"dubbo.apache.org/dubbo-go/v3/registry"
)
const defaultRevision = "N/A"
func init() {
	extension.AddCustomizers(&exportedServicesRevisionMetadataCustomizer{})
	extension.AddCustomizers(&subscribedServicesRevisionMetadataCustomizer{})
}
type exportedServicesRevisionMetadataCustomizer struct{}
func (e *exportedServicesRevisionMetadataCustomizer) GetPriority() int {
	return 1
}