@@ -285,7 +285,7 @@ Populate this file with the following content:
285285``` Java
286286package io.eigr.spawn.java.demo ;
287287
288- import io.eigr.spawn.api.Value ;
288+ import io.eigr.spawn.api.actors. Value ;
289289import io.eigr.spawn.api.actors.ActorContext ;
290290import io.eigr.spawn.api.actors.annotations.Action ;
291291import io.eigr.spawn.api.actors.annotations.stateful.StatefulNamedActor ;
@@ -332,7 +332,7 @@ public class App {
332332 public static void main (String [] args ) throws Exception {
333333 Spawn spawnSystem = new SpawnSystem ()
334334 .create(" spawn-system" )
335- .addActor (Joe . class)
335+ .withActor (Joe . class)
336336 .build();
337337
338338 spawnSystem. start();
@@ -346,21 +346,20 @@ Or passing transport options like:
346346package io.eigr.spawn.java.demo ;
347347
348348import io.eigr.spawn.api.Spawn ;
349- import io.eigr.spawn.api.transport. TransportOpts ;
349+ import io.eigr.spawn.api.TransportOpts ;
350350
351351public class App {
352352 public static void main (String [] args ) throws Exception {
353353 TransportOpts opts = TransportOpts . builder()
354- .executor()
355354 .port(8091 )
356355 .proxyPort(9003 )
357356 .executor(Executors . newVirtualThreadPerTaskExecutor()) // If you use java above 19 and use the --enable-preview flag when running the jvm
358357 .build();
359-
358+
360359 Spawn spawnSystem = new SpawnSystem ()
361360 .create(" spawn-system" )
362- .addActor (Joe . class)
363- .withTransportOpts (opts)
361+ .withActor (Joe . class)
362+ .withTransportOptions (opts)
364363 .build();
365364
366365 spawnSystem. start();
@@ -433,7 +432,7 @@ In this case, it is enough to declare a constructor that receives a single argum
433432``` java
434433package io.eigr.spawn.java.demo ;
435434
436- import io.eigr.spawn.api.Value ;
435+ import io.eigr.spawn.api.actors. Value ;
437436import io.eigr.spawn.api.actors.ActorContext ;
438437import io.eigr.spawn.api.actors.annotations.Action ;
439438import io.eigr.spawn.api.actors.annotations.stateful.StatefulNamedActor ;
@@ -443,27 +442,27 @@ import java.util.Map;
443442
444443@StatefulNamedActor (name = " joe" , stateful = true , stateType = Domain . JoeState . class, channel = " test" )
445444public final class Joe {
446- private final String someValue;
445+ private final String someValue;
447446
448- public Joe (Map<String , String > args ) {
449- this . someValue = args. get(" someKey" );
450- }
447+ public Joe (Map<String , String > args ) {
448+ this . someValue = args. get(" someKey" );
449+ }
451450
452- @Action (inputType = Domain . Request . class)
453- public Value setLanguage (Domain .Request msg , ActorContext<Domain . JoeState > context ) {
454- return Value . at()
455- .response(Domain . Reply . newBuilder()
456- .setResponse(" Hello From Java" )
457- .build())
458- .state(updateState(" java" ))
459- .reply();
460- }
451+ @Action (inputType = Domain . Request . class)
452+ public Value setLanguage (Domain .Request msg , ActorContext<Domain . JoeState > context ) {
453+ return Value . at()
454+ .response(Domain . Reply . newBuilder()
455+ .setResponse(" Hello From Java" )
456+ .build())
457+ .state(updateState(" java" ))
458+ .reply();
459+ }
461460
462- // ...
461+ // ...
463462}
464463```
465464
466- Then you also need to register your Actor using the ` addActorWithArgs ` method like as follows:
465+ Then you also need to register your Actor passing arguments like as follows:
467466
468467``` java
469468package io.eigr.spawn.java.demo ;
@@ -481,9 +480,7 @@ public class App {
481480
482481 Spawn spawnSystem = new Spawn .SpawnSystem ()
483482 .create(" spawn-system" )
484- .withPort(8091 )
485- .withProxyPort(9003 )
486- .addActorWithArgs(Joe . class, actorConstructorArgs, arg - > new Joe ((Map<String , String > ) arg))
483+ .withActor(Joe . class, actorConstructorArgs, arg - > new Joe ((Map<String , String > ) arg))
487484 .build();
488485
489486 spawnSystem. start();
@@ -546,22 +543,22 @@ For this the developer just needs to make use of the correct annotation. For exa
546543``` java
547544package io.eigr.spawn.test.actors ;
548545
549- import io.eigr.spawn.api.Value ;
546+ import io.eigr.spawn.api.actors. Value ;
550547import io.eigr.spawn.api.actors.ActorContext ;
551548import io.eigr.spawn.api.actors.annotations.Action ;
552549import io.eigr.spawn.api.actors.annotations.stateless.StatelessNamedActor ;
553550import io.eigr.spawn.java.test.domain.Actor ;
554551
555552@StatelessNamedActor (name = " test_joe" )
556553public class JoeActor {
557- @Action
558- public Value hi (Actor .Request msg , ActorContext<?> context ) {
559- return Value . at()
560- .response(Actor . Reply . newBuilder()
561- .setResponse(" Hello From Java" )
562- .build())
563- .reply();
564- }
554+ @Action
555+ public Value hi (Actor .Request msg , ActorContext<?> context ) {
556+ return Value . at()
557+ .response(Actor . Reply . newBuilder()
558+ .setResponse(" Hello From Java" )
559+ .build())
560+ .reply();
561+ }
565562}
566563```
567564
@@ -638,7 +635,7 @@ See an example:
638635``` Java
639636package io.eigr.spawn.java.demo ;
640637
641- import io.eigr.spawn.api.Value ;
638+ import io.eigr.spawn.api.actors. Value ;
642639import io.eigr.spawn.api.actors.ActorContext ;
643640import io.eigr.spawn.api.actors.ActorRef ;
644641import io.eigr.spawn.api.actors.annotations.Action ;
@@ -648,24 +645,24 @@ import io.eigr.spawn.java.demo.domain.Domain;
648645
649646@StatefulNamedActor (name = " side_effect_actor" , stateType = Domain . State . class)
650647public class SideEffectActorExample {
651- @Action
652- public Value setLanguage (Domain .Request msg , ActorContext<Domain . State > ctx ) throws Exception {
653- // Create a ActorReference to send side effect message
654- ActorRef sideEffectReceiverActor = ctx. getSpawnSystem()
655- .createActorRef(" spawn-system" , " mike" , " abs_actor" );
648+ @Action
649+ public Value setLanguage (Domain .Request msg , ActorContext<Domain . State > ctx ) throws Exception {
650+ // Create a ActorReference to send side effect message
651+ ActorRef sideEffectReceiverActor = ctx. getSpawnSystem()
652+ .createActorRef(" spawn-system" , " mike" , " abs_actor" );
656653
657- return Value . at()
658- .response(Domain . Reply . newBuilder()
659- .setResponse(" Hello From Java" )
660- .build())
661- .state(updateState(" java" ))
662- .flow(SideEffect . to(sideEffectReceiverActor, " setLanguage" , msg))
663- // .flow(SideEffect.to(emailSenderReceiverActor, "sendEmail", emailMessage))
664- // .flow(SideEffect.to(otherReceiverActor, "otherAction", otherMessage))
665- .noReply();
666- }
654+ return Value . at()
655+ .response(Domain . Reply . newBuilder()
656+ .setResponse(" Hello From Java" )
657+ .build())
658+ .state(updateState(" java" ))
659+ .flow(SideEffect . to(sideEffectReceiverActor, " setLanguage" , msg))
660+ // .flow(SideEffect.to(emailSenderReceiverActor, "sendEmail", emailMessage))
661+ // .flow(SideEffect.to(otherReceiverActor, "otherAction", otherMessage))
662+ .noReply();
663+ }
667664
668- // ....
665+ // ....
669666}
670667```
671668
@@ -684,7 +681,7 @@ See an example:
684681``` Java
685682package io.eigr.spawn.java.demo ;
686683
687- import io.eigr.spawn.api.Value ;
684+ import io.eigr.spawn.api.actors. Value ;
688685import io.eigr.spawn.api.actors.ActorContext ;
689686import io.eigr.spawn.api.actors.ActorRef ;
690687import io.eigr.spawn.api.actors.annotations.Action ;
@@ -708,7 +705,7 @@ public class ForwardExample {
708705 .createActorRef(" spawn-system" , " mike" , " abs_actor" );
709706
710707 return Value . at()
711- .flow(Forward . to(forwardedActor," setLanguage" ))
708+ .flow(Forward . to(forwardedActor, " setLanguage" ))
712709 .noReply();
713710 }
714711}
@@ -726,7 +723,7 @@ Example:
726723``` Java
727724package io.eigr.spawn.java.demo ;
728725
729- import io.eigr.spawn.api.Value ;
726+ import io.eigr.spawn.api.actors. Value ;
730727import io.eigr.spawn.api.actors.ActorContext ;
731728import io.eigr.spawn.api.actors.ActorRef ;
732729import io.eigr.spawn.api.actors.annotations.Action ;
@@ -737,25 +734,25 @@ import io.eigr.spawn.java.demo.domain.Domain;
737734@StatefulNamedActor (name = " pipe_actor" , stateType = Domain . State . class)
738735public class PipeActorExample {
739736
740- @Action
741- public Value setLanguage (Domain .Request msg , ActorContext<Domain . State > ctx ) throws Exception {
742- ActorRef pipeReceiverActor = ctx. getSpawnSystem()
743- .createActorRef(" spawn-system" , " joe" );
737+ @Action
738+ public Value setLanguage (Domain .Request msg , ActorContext<Domain . State > ctx ) throws Exception {
739+ ActorRef pipeReceiverActor = ctx. getSpawnSystem()
740+ .createActorRef(" spawn-system" , " joe" );
744741
745- return Value . at()
746- .response(Domain . Reply . newBuilder()
747- .setResponse(" Hello From Java" )
748- .build())
749- .flow(Pipe . to(pipeReceiverActor, " someAction" ))
750- .state(updateState(" java" ))
751- .noReply();
752- }
742+ return Value . at()
743+ .response(Domain . Reply . newBuilder()
744+ .setResponse(" Hello From Java" )
745+ .build())
746+ .flow(Pipe . to(pipeReceiverActor, " someAction" ))
747+ .state(updateState(" java" ))
748+ .noReply();
749+ }
753750
754- private Domain .State updateState (String language ) {
755- return Domain . State . newBuilder()
756- .addLanguages(language)
757- .build();
758- }
751+ private Domain .State updateState (String language ) {
752+ return Domain . State . newBuilder()
753+ .addLanguages(language)
754+ .build();
755+ }
759756}
760757```
761758
@@ -780,24 +777,24 @@ And this can be done in the following way:
780777Example:
781778
782779``` Java
783- import io.eigr.spawn.api.Value ;
780+ import io.eigr.spawn.api.actors. Value ;
784781import io.eigr.spawn.api.actors.ActorContext ;
785782import io.eigr.spawn.api.actors.annotations.Action ;
786783import io.eigr.spawn.api.actors.annotations.stateful.StatefulNamedActor ;
787784import io.eigr.spawn.java.demo.domain.Domain ;
788785
789786@StatefulNamedActor (name = " joe" , stateType = Domain . JoeState . class)
790787public final class Joe {
791- @Action (inputType = Domain . Request . class)
792- public Value setLanguage (Domain .Request msg , ActorContext<Domain . JoeState > context ) {
793- return Value . at()
794- .response(Domain . Reply . newBuilder()
795- .setResponse(" Hello From Java" )
796- .build())
797- .state(updateState(" java" ), true )
798- .reply();
799- }
800- // ...
788+ @Action (inputType = Domain . Request . class)
789+ public Value setLanguage (Domain .Request msg , ActorContext<Domain . JoeState > context ) {
790+ return Value . at()
791+ .response(Domain . Reply . newBuilder()
792+ .setResponse(" Hello From Java" )
793+ .build())
794+ .state(updateState(" java" ), true )
795+ .reply();
796+ }
797+ // ...
801798}
802799```
803800
@@ -852,6 +849,7 @@ package io.eigr.spawn.java.demo;
852849import io.eigr.spawn.api.Spawn ;
853850import io.eigr.spawn.api.Spawn.SpawnSystem ;
854851import io.eigr.spawn.api.actors.ActorRef ;
852+ import io.eigr.spawn.api.TransportOpts ;
855853import io.eigr.spawn.java.demo.domain.Domain ;
856854
857855import java.util.Optional ;
@@ -860,9 +858,13 @@ public class App {
860858 public static void main (String [] args ) throws Exception {
861859 Spawn spawnSystem = new SpawnSystem ()
862860 .create(" spawn-system" )
863- .withPort(8091 )
864- .withProxyPort(9003 )
865861 .withActor(Joe . class)
862+ .withTransportOptions(
863+ TransportOpts . builder()
864+ .port(8091 )
865+ .proxyPort(9003 )
866+ .build()
867+ )
866868 .build();
867869
868870 spawnSystem. start();
0 commit comments