
Package ca.uhn.fhir.jpa.dao
Class TransactionPartitionProcessor<BUNDLE extends org.hl7.fhir.instance.model.api.IBaseBundle>
java.lang.Object
ca.uhn.fhir.jpa.dao.TransactionPartitionProcessor<BUNDLE>
public class TransactionPartitionProcessor<BUNDLE extends org.hl7.fhir.instance.model.api.IBaseBundle>
extends Object
This class invokes the
Pointcut.STORAGE_TRANSACTION_PRE_PARTITION
hook to slice a transaction request
bundle into partitions. It then executes each partition as a separate transaction and aggregates the results
into a single cohesive response bundle. The response bundle will have entries which correspond to the original
request bundle entries.
Note that this does break the FHIR transaction semantics, since it is possible for one partition to succeed and then a later partition to fail. This should therefore only be used in cases where this is understood and desired.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionTransactionPartitionProcessor
(BaseTransactionProcessor theTransactionProcessor, ca.uhn.fhir.context.FhirContext theFhirContext, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails, boolean theNestedMode, ca.uhn.fhir.interceptor.api.IInterceptorBroadcaster theCompositeBroadcaster, String theActionName) Constructor -
Method Summary
-
Field Details
-
EMPTY_OBJECT
-
-
Constructor Details
-
TransactionPartitionProcessor
public TransactionPartitionProcessor(BaseTransactionProcessor theTransactionProcessor, ca.uhn.fhir.context.FhirContext theFhirContext, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails, boolean theNestedMode, ca.uhn.fhir.interceptor.api.IInterceptorBroadcaster theCompositeBroadcaster, String theActionName) Constructor
-
-
Method Details
-
execute
Invoke thePointcut.STORAGE_TRANSACTION_PRE_PARTITION
hook to slice the transaction request bundle into partitions, execute each slice, and aggregate the results.
-