These run using a thread from the worker pool. An instance can be executed concurrently by more than one thread.
But as I know, a worker verticle instance can only be executed by one specific thread from worker thread pool. Do I misunderstand the doc?
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/ef50a0c4-7b3c-44c7-9768-816c9af0a169%40googlegroups.com.
package zone.guo.totem;
import io.vertx.core.AbstractVerticle;import io.vertx.core.eventbus.EventBus;
/** * An example of worker verticle */public class WorkerVerticle extends AbstractVerticle {
private int test = 0;
@Override public void start() throws Exception { System.out.println("[Worker] Starting in " + Thread.currentThread().getName()+", verticle instance:"+this);
vertx.eventBus().<String>consumer("address1", message -> { System.out.println("[Worker] Consuming data in " + Thread.currentThread().getName()+", verticle instance:"+this); }); }}package zone.guo.totem;
import io.vertx.core.AbstractVerticle;import io.vertx.core.eventbus.EventBus;
public class MainVerticle extends AbstractVerticle {
@Override public void start() throws Exception { System.out.println("[Main] Running in " + Thread.currentThread().getName());
for(int i=0;i<50;i++){ vertx.eventBus().send("address1", "hello"); } }}
package zone.guo.totem;
import io.vertx.core.DeploymentOptions;import io.vertx.core.Vertx;
public class Main { public static void main(String[] args){ Vertx vertx = Vertx.vertx(); vertx.deployVerticle("zone.guo.totem.WorkerVerticle", new DeploymentOptions().setWorker(true).setInstances(5).setWorkerPoolSize(10).setWorkerPoolName("custom-worker-thread"), r -> vertx.deployVerticle("zone.guo.totem.MainVerticle") ); }}[Worker] Starting in custom-worker-thread-0, verticle instance:zone.guo.totem.WorkerVerticle@2dbc414b[Worker] Starting in custom-worker-thread-2, verticle instance:zone.guo.totem.WorkerVerticle@1027a61f[Worker] Starting in custom-worker-thread-3, verticle instance:zone.guo.totem.WorkerVerticle@15ae2716[Worker] Starting in custom-worker-thread-1, verticle instance:zone.guo.totem.WorkerVerticle@686acbe6[Worker] Starting in custom-worker-thread-4, verticle instance:zone.guo.totem.WorkerVerticle@32af118e[Main] Running in vert.x-eventloop-thread-1[Worker] Consuming data in custom-worker-thread-6, verticle instance:zone.guo.totem.WorkerVerticle@1027a61f[Worker] Consuming data in custom-worker-thread-7, verticle instance:zone.guo.totem.WorkerVerticle@2dbc414b[Worker] Consuming data in custom-worker-thread-8, verticle instance:zone.guo.totem.WorkerVerticle@686acbe6[Worker] Consuming data in custom-worker-thread-5, verticle instance:zone.guo.totem.WorkerVerticle@32af118e[Worker] Consuming data in custom-worker-thread-9, verticle instance:zone.guo.totem.WorkerVerticle@15ae2716[Worker] Consuming data in custom-worker-thread-5, verticle instance:zone.guo.totem.WorkerVerticle@32af118e[Worker] Consuming data in custom-worker-thread-8, verticle instance:zone.guo.totem.WorkerVerticle@686acbe6[Worker] Consuming data in custom-worker-thread-7, verticle instance:zone.guo.totem.WorkerVerticle@2dbc414b[Worker] Consuming data in custom-worker-thread-6, verticle instance:zone.guo.totem.WorkerVerticle@1027a61f[Worker] Consuming data in custom-worker-thread-7, verticle instance:zone.guo.totem.WorkerVerticle@2dbc414b[Worker] Consuming data in custom-worker-thread-8, verticle instance:zone.guo.totem.WorkerVerticle@686acbe6[Worker] Consuming data in custom-worker-thread-5, verticle instance:zone.guo.totem.WorkerVerticle@32af118e[Worker] Consuming data in custom-worker-thread-9, verticle instance:zone.guo.totem.WorkerVerticle@15ae2716[Worker] Consuming data in custom-worker-thread-5, verticle instance:zone.guo.totem.WorkerVerticle@32af118e[Worker] Consuming data in custom-worker-thread-8, verticle instance:zone.guo.totem.WorkerVerticle@686acbe6[Worker] Consuming data in custom-worker-thread-7, verticle instance:zone.guo.totem.WorkerVerticle@2dbc414b[Worker] Consuming data in custom-worker-thread-6, verticle instance:zone.guo.totem.WorkerVerticle@1027a61f[Worker] Consuming data in custom-worker-thread-7, verticle instance:zone.guo.totem.WorkerVerticle@2dbc414b[Worker] Consuming data in custom-worker-thread-8, verticle instance:zone.guo.totem.WorkerVerticle@686acbe6[Worker] Consuming data in custom-worker-thread-5, verticle instance:zone.guo.totem.WorkerVerticle@32af118e[Worker] Consuming data in custom-worker-thread-9, verticle instance:zone.guo.totem.WorkerVerticle@15ae2716[Worker] Consuming data in custom-worker-thread-5, verticle instance:zone.guo.totem.WorkerVerticle@32af118e[Worker] Consuming data in custom-worker-thread-8, verticle instance:zone.guo.totem.WorkerVerticle@686acbe6[Worker] Consuming data in custom-worker-thread-7, verticle instance:zone.guo.totem.WorkerVerticle@2dbc414b[Worker] Consuming data in custom-worker-thread-7, verticle instance:zone.guo.totem.WorkerVerticle@2dbc414b[Worker] Consuming data in custom-worker-thread-6, verticle instance:zone.guo.totem.WorkerVerticle@1027a61f[Worker] Consuming data in custom-worker-thread-7, verticle instance:zone.guo.totem.WorkerVerticle@2dbc414b[Worker] Consuming data in custom-worker-thread-8, verticle instance:zone.guo.totem.WorkerVerticle@686acbe6[Worker] Consuming data in custom-worker-thread-5, verticle instance:zone.guo.totem.WorkerVerticle@32af118e[Worker] Consuming data in custom-worker-thread-5, verticle instance:zone.guo.totem.WorkerVerticle@32af118e[Worker] Consuming data in custom-worker-thread-9, verticle instance:zone.guo.totem.WorkerVerticle@15ae2716[Worker] Consuming data in custom-worker-thread-9, verticle instance:zone.guo.totem.WorkerVerticle@15ae2716[Worker] Consuming data in custom-worker-thread-5, verticle instance:zone.guo.totem.WorkerVerticle@32af118e[Worker] Consuming data in custom-worker-thread-5, verticle instance:zone.guo.totem.WorkerVerticle@32af118e[Worker] Consuming data in custom-worker-thread-8, verticle instance:zone.guo.totem.WorkerVerticle@686acbe6[Worker] Consuming data in custom-worker-thread-8, verticle instance:zone.guo.totem.WorkerVerticle@686acbe6[Worker] Consuming data in custom-worker-thread-7, verticle instance:zone.guo.totem.WorkerVerticle@2dbc414b[Worker] Consuming data in custom-worker-thread-7, verticle instance:zone.guo.totem.WorkerVerticle@2dbc414b[Worker] Consuming data in custom-worker-thread-6, verticle instance:zone.guo.totem.WorkerVerticle@1027a61f[Worker] Consuming data in custom-worker-thread-6, verticle instance:zone.guo.totem.WorkerVerticle@1027a61f[Worker] Consuming data in custom-worker-thread-8, verticle instance:zone.guo.totem.WorkerVerticle@686acbe6[Worker] Consuming data in custom-worker-thread-9, verticle instance:zone.guo.totem.WorkerVerticle@15ae2716[Worker] Consuming data in custom-worker-thread-6, verticle instance:zone.guo.totem.WorkerVerticle@1027a61f[Worker] Consuming data in custom-worker-thread-9, verticle instance:zone.guo.totem.WorkerVerticle@15ae2716[Worker] Consuming data in custom-worker-thread-6, verticle instance:zone.guo.totem.WorkerVerticle@1027a61f[Worker] Consuming data in custom-worker-thread-6, verticle instance:zone.guo.totem.WorkerVerticle@1027a61f[Worker] Consuming data in custom-worker-thread-9, verticle instance:zone.guo.totem.WorkerVerticle@15ae2716[Worker] Consuming data in custom-worker-thread-6, verticle instance:zone.guo.totem.WorkerVerticle@1027a61f[Worker] Consuming data in custom-worker-thread-9, verticle instance:zone.guo.totem.WorkerVerticle@15ae2716[Worker] Consuming data in custom-worker-thread-9, verticle instance:zone.guo.totem.WorkerVerticle@15ae2716Hi,this is an extra flag for workers that allows several thread to use a verticle instance concurrently (so one need to set worker=true + multithreaded = true in DeploymentOptions).This feature has been deprecated in 3 and removed in Vert.x 4.This can be achieved using an event-loop verticle that delegates to executeBlocking with the ordering flag = false.Julien
On 14 Jan 2020, at 06:30, sql my <totemg...@gmail.com> wrote:
- The vert.x 3 doc says:
- Multi-threaded worker verticles
These run using a thread from the worker pool. An instance can be executed concurrently by more than one thread.
But as I know, a worker verticle instance can only be executed by one specific thread from worker thread pool. Do I misunderstand the doc?
--
You received this message because you are subscribed to the Google Groups "vert.x" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ve...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to vertx+un...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/vertx/d9144088-12a0-41bb-8a22-16cd4ea3fc8c%40googlegroups.com.