Pārlūkot izejas kodu

feat: 反射工具排除抽象类

许家凯 3 gadi atpakaļ
vecāks
revīzija
8d1d73e2e8

+ 5 - 1
src/main/scala/com/winhc/bigdata/spark/utils/ReflectUtils.scala

@@ -3,6 +3,7 @@ package com.winhc.bigdata.spark.utils
 import com.winhc.bigdata.spark.jobs.chance.CompanyChangeHandle
 import org.reflections.Reflections
 
+import java.lang.reflect.Modifier
 import scala.collection.JavaConverters._
 
 /**
@@ -21,7 +22,10 @@ object ReflectUtils {
     val reflects = new Reflections(prefix)
     reflects
       .getSubTypesOf(underlying)
-      .asScala.map(_.getName).toSeq
+      .asScala
+      .filter(r=> !Modifier.isAbstract(r.getModifiers))
+      .map(_.getName)
+      .toSeq
   }
 
   def subObject[T](underlying: Class[T], prefix: String): Seq[T] = {