diff --git a/skywalking-collector/pom.xml b/skywalking-collector/pom.xml
index 0a0453660..122b12c82 100644
--- a/skywalking-collector/pom.xml
+++ b/skywalking-collector/pom.xml
@@ -5,7 +5,6 @@
skywalking-collector-cluster
skywalking-collector-worker
- skywalking-collector-actor
skywalking
diff --git a/skywalking-collector/skywalking-collector-actor/pom.xml b/skywalking-collector/skywalking-collector-actor/pom.xml
deleted file mode 100644
index a64647fd8..000000000
--- a/skywalking-collector/skywalking-collector-actor/pom.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- skywalking-collector
- com.a.eye
- 3.0-2017
-
- 4.0.0
-
- skywalking-collector-actor
-
-
-
- com.a.eye
- skywalking-collector-cluster
- ${project.version}
-
-
-
\ No newline at end of file
diff --git a/skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/selector/WorkerSelector.java b/skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/selector/WorkerSelector.java
deleted file mode 100644
index e2901dbb8..000000000
--- a/skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/selector/WorkerSelector.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.a.eye.skywalking.collector.actor.selector;
-
-import akka.actor.ActorRef;
-import com.a.eye.skywalking.collector.actor.AbstractWorker;
-import java.util.List;
-
-/**
- * The WorkerSelector should be implemented
- * by any class whose instances are intended to provide select a {@link ActorRef} from a {@link ActorRef} list.
- *
- * Actually, the ActorRef is designed to provide a routing ability in the collector cluster.
- *
- * @author wusheng
- */
-public interface WorkerSelector {
- /**
- * select a {@link ActorRef} from a {@link ActorRef} list.
- *
- * @param members given {@link ActorRef} list, which size is greater than 0;
- * @param message the {@link AbstractWorker} is going to send.
- * @return the selected {@link ActorRef}
- */
- ActorRef select(List members, T message);
-}
diff --git a/skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorker.java b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorker.java
similarity index 94%
rename from skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorker.java
rename to skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorker.java
index 3ec70c2f5..c8c5a942e 100644
--- a/skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorker.java
+++ b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorker.java
@@ -9,6 +9,7 @@ import com.a.eye.skywalking.collector.actor.selector.WorkerSelector;
import com.a.eye.skywalking.collector.cluster.WorkerListenerMessage;
import com.a.eye.skywalking.collector.cluster.WorkersListener;
import com.a.eye.skywalking.collector.cluster.WorkersRefCenter;
+
import java.util.List;
/**
@@ -42,7 +43,7 @@ public abstract class AbstractWorker extends UntypedActor {
}
public void tell(AbstractWorkerProvider targetWorkerProvider, WorkerSelector selector, T message) throws Throwable {
- List avaibleWorks = WorkersRefCenter.INSTANCE.availableWorks(targetWorkerProvider.roleName());
+ List avaibleWorks = WorkersRefCenter.INSTANCE.availableWorks(targetWorkerProvider.roleName());
selector.select(avaibleWorks, message).tell(message, getSelf());
}
diff --git a/skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorkerProvider.java b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorkerProvider.java
similarity index 94%
rename from skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorkerProvider.java
rename to skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorkerProvider.java
index 026e67dc4..0020097ee 100644
--- a/skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorkerProvider.java
+++ b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/AbstractWorkerProvider.java
@@ -2,7 +2,6 @@ package com.a.eye.skywalking.collector.actor;
import akka.actor.ActorSystem;
import akka.actor.Props;
-import com.a.eye.skywalking.api.util.StringUtil;
/**
* @author pengys5
diff --git a/skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/CollectorBootstrap.java b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/CollectorBootstrap.java
similarity index 88%
rename from skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/CollectorBootstrap.java
rename to skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/CollectorBootstrap.java
index 500d54d4e..7e35737d1 100644
--- a/skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/CollectorBootstrap.java
+++ b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/CollectorBootstrap.java
@@ -1,7 +1,5 @@
package com.a.eye.skywalking.collector.actor;
-import akka.actor.ActorSystem;
-
/**
* @author pengys5
*/
diff --git a/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/WorkerRef.java b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/WorkerRef.java
new file mode 100644
index 000000000..c82b89470
--- /dev/null
+++ b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/WorkerRef.java
@@ -0,0 +1,32 @@
+package com.a.eye.skywalking.collector.actor;
+
+import akka.actor.ActorRef;
+
+/**
+ * @author pengys5
+ */
+public class WorkerRef {
+ final ActorRef actorRef;
+
+ public WorkerRef(ActorRef actorRef) {
+ this.actorRef = actorRef;
+ }
+
+ void tell(Object message, ActorRef actorRef) {
+ actorRef.tell(message, actorRef);
+ }
+
+ public String path(){
+ return actorRef.path().toString();
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ return actorRef.equals(obj);
+ }
+
+ @Override
+ public String toString() {
+ return actorRef.toString();
+ }
+}
diff --git a/skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/WorkersCreator.java b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/WorkersCreator.java
similarity index 100%
rename from skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/WorkersCreator.java
rename to skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/WorkersCreator.java
diff --git a/skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/selector/RollingSelector.java b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/selector/RollingSelector.java
similarity index 64%
rename from skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/selector/RollingSelector.java
rename to skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/selector/RollingSelector.java
index 7f6383b21..8ef322c6b 100644
--- a/skywalking-collector/skywalking-collector-actor/src/main/java/com/a/eye/skywalking/collector/actor/selector/RollingSelector.java
+++ b/skywalking-collector/skywalking-collector-cluster/src/main/java/com/a/eye/skywalking/collector/actor/selector/RollingSelector.java
@@ -1,12 +1,13 @@
package com.a.eye.skywalking.collector.actor.selector;
-import akka.actor.ActorRef;
import com.a.eye.skywalking.collector.actor.AbstractWorker;
+import com.a.eye.skywalking.collector.actor.WorkerRef;
+
import java.util.List;
/**
* The RollingSelector is a simple implementation of {@link WorkerSelector}.
- * It choose {@link ActorRef} nearly random, by round-robin.
+ * It choose {@link WorkerRef} nearly random, by round-robin.
*
* @author wusheng
*/
@@ -19,14 +20,14 @@ public enum RollingSelector implements WorkerSelector