Andrea Cosentino created CAMEL-26844:
----------------------------------------

             Summary: camel-opa/openfga/spiffe - support asynchronous decision 
processing
                 Key: CAMEL-26844
                 URL: https://issues.apache.org/jira/browse/CAMEL-26844
             Project: Camel
          Issue Type: Improvement
          Components: camel-spiffe
            Reporter: Andrea Cosentino
            Assignee: Andrea Cosentino


h2. Problem / motivation
The three producers extend DefaultProducer. Remote authorization/identity calls 
block the invoking routing thread; OpenFGA already returns CompletableFuture 
values that can be bridged into Camel callbacks.

h2. Proposed scope
Add asynchronous producer/security-policy processing where useful, starting 
with OpenFGA futures. Define managed executor offload for genuinely blocking 
OPA/SPIFFE paths instead of assuming they have nonblocking SDK APIs. Keep 
downstream async routing intact. Document connect/read/request/total deadlines, 
cancellation and executor bounds without renaming existing options 
unnecessarily.

h2. Acceptance criteria / validation
* Test callback exactly once, completion failure, interruption/cancellation, 
shutdown and bounded saturation.
* Preserve exchange state and exception/fail-open semantics.
* Demonstrate concurrency benefit without unbounded thread creation.
* Verify equivalent synchronous ProducerTemplate use.

h2. References
* 
https://github.com/apache/camel/blob/5686684cb418/components/camel-openfga/src/main/java/org/apache/camel/component/openfga/OpenFgaProducer.java#L64
* 
https://github.com/apache/camel/blob/5686684cb418/components/camel-opa/src/main/java/org/apache/camel/component/opa/OpaProducer.java#L27
* 
https://github.com/apache/camel/blob/5686684cb418/components/camel-spiffe/src/main/java/org/apache/camel/component/spiffe/SpiffeProducer.java#L30

Source: read-only component audit at 5686684cb418. Recheck current main before 
implementing; historical references identify the audited code.

_AI-generated by Codex on behalf of oscerd (JIRA: acosentino)._



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to