This is an automated email from the ASF dual-hosted git repository.

He-Pin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko.git


The following commit(s) were added to refs/heads/main by this push:
     new d4df90cf69 chore: add Java external shard allocation factory (#2954)
d4df90cf69 is described below

commit d4df90cf6914b7e027f59a24f0d559087523c5da
Author: He-Pin(kerr) <[email protected]>
AuthorDate: Sun May 10 00:18:24 2026 +0800

    chore: add Java external shard allocation factory (#2954)
    
    Motivation:
    Upstream commit 
https://github.com/akka/akka-core/commit/25dd5f7edaa72a28d4e5e26eb12f8f03b8803396,
 which is now Apache licensed, added a Java factory for external shard 
allocation without requiring callers to pass the default timeout explicitly.
    
    Modification:
    Add the Java API create(systemProvider, typeName) overload and update the 
Java compile-only example to use it.
    
    Result:
    Java users get parity with the Scala factory that uses the default timeout.
    
    Tests:
    - git diff --check / passed
    - scalafmt --mode diff-ref=origin/main / passed
    - scalafmt --list --mode diff-ref=origin/main / passed
    - JDK 17 sbt "cluster-sharding-typed / javafmtAll" / passed
    - sbt "cluster-sharding / Test / compile" "cluster-sharding-typed / Test / 
compile" "cluster-sharding / mimaReportBinaryIssues" / passed
    - sbt "+ cluster-sharding / mimaReportBinaryIssues" / passed
    
    References:
    Refs 
https://github.com/akka/akka-core/commit/25dd5f7edaa72a28d4e5e26eb12f8f03b8803396
---
 .../sharding/typed/ExternalShardAllocationCompileOnlyTest.java      | 4 +---
 .../cluster/sharding/external/ExternalShardAllocationStrategy.scala | 6 ++++++
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git 
a/cluster-sharding-typed/src/test/java/jdocs/org/apache/pekko/cluster/sharding/typed/ExternalShardAllocationCompileOnlyTest.java
 
b/cluster-sharding-typed/src/test/java/jdocs/org/apache/pekko/cluster/sharding/typed/ExternalShardAllocationCompileOnlyTest.java
index fd6947841b..fbaf74722e 100644
--- 
a/cluster-sharding-typed/src/test/java/jdocs/org/apache/pekko/cluster/sharding/typed/ExternalShardAllocationCompileOnlyTest.java
+++ 
b/cluster-sharding-typed/src/test/java/jdocs/org/apache/pekko/cluster/sharding/typed/ExternalShardAllocationCompileOnlyTest.java
@@ -15,7 +15,6 @@ package jdocs.org.apache.pekko.cluster.sharding.typed;
 
 import static 
jdocs.org.apache.pekko.cluster.sharding.typed.ShardingCompileOnlyTest.Counter;
 
-import java.time.Duration;
 import java.util.concurrent.CompletionStage;
 import org.apache.pekko.Done;
 import org.apache.pekko.actor.Address;
@@ -43,8 +42,7 @@ public class ExternalShardAllocationCompileOnlyTest {
         sharding.init(
             Entity.of(typeKey, ctx -> Counter.create(ctx.getEntityId()))
                 .withAllocationStrategy(
-                    ExternalShardAllocationStrategy.create(
-                        system, typeKey.name(), Duration.ofSeconds(5))));
+                    ExternalShardAllocationStrategy.create(system, 
typeKey.name())));
     // #entity
 
     // #client
diff --git 
a/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/external/ExternalShardAllocationStrategy.scala
 
b/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/external/ExternalShardAllocationStrategy.scala
index 847c867d5b..cd126c0681 100644
--- 
a/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/external/ExternalShardAllocationStrategy.scala
+++ 
b/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/external/ExternalShardAllocationStrategy.scala
@@ -61,6 +61,12 @@ object ExternalShardAllocationStrategy {
     new ExternalShardAllocationStrategy(systemProvider, typeName)(timeout)
   }
 
+  /**
+   * Java API: Create an [[ExternalShardAllocationStrategy]]
+   */
+  def create(systemProvider: ClassicActorSystemProvider, typeName: String): 
ExternalShardAllocationStrategy =
+    this.apply(systemProvider, typeName)
+
   /**
    * Java API: Create an [[ExternalShardAllocationStrategy]]
    */


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to