Remove CallableTaskFactory indirection from CallableTaskBuilder#1552
Open
mdproctor wants to merge 1 commit into
Open
Remove CallableTaskFactory indirection from CallableTaskBuilder#1552mdproctor wants to merge 1 commit into
mdproctor wants to merge 1 commit into
Conversation
Replace the two-step init()/factory.get() pattern with a single build() method that returns CallableTask directly. This eliminates the CallableTaskFactory type from the public API. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mdproctor
force-pushed
the
refactor/remove-callable-task-factory
branch
from
July 22, 2026 12:17
9b37c04 to
422918c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
init()→CallableTaskFactory.get()pattern onCallableTaskBuilderwith a singlebuild()method that returnsCallableTaskdirectlyCallableTaskFactoryinterface from the public APICallTaskExecutorcall siteMotivation
CallableTaskFactoryis aSupplier<CallableTask>whose.get()is called immediately afterinit()returns — no implementation uses the deferred construction. Every implementation already captures all state in the lambda closure returned frominit(), so the factory layer adds a public type, an allocation, and a concept to the API surface with no behavioral benefit.After this change:
CallableTaskBuilderimplementations (e.g. in Quarkus Flow) drop the factory wrapper and returnCallableTaskdirectly.CallTaskExecutorBuilderstores aCallableTaskdirectly instead of holding a factory and deferring.get().CallableTaskout. All existing tests pass.Test plan
mvn verify— all 232 tests pass (one pre-existing flakySchedulerTest.testAftertiming test passes on rerun)CallableTaskFactoryin the codebase🤖 Generated with Claude Code