C_CPI Integration Suite Development Practice Question
An integration developer is configuring an integration flow that uses the JMS receiver adapter to send messages to a queue in SAP Cloud Integration. The flow must guarantee that messages are not lost if the integration flow node fails after the message is read from the queue, and must also ensure that a poison message that always fails processing does not block the queue indefinitely. (Choose two.)
⚠ Common exam trap
The trap here is thinking that faster consumption or larger queue limits improve reliability, when only transacted acknowledgment and dead letter handling prevent loss and poisoning.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Configure the queue with a maximum retry count and a dead letter queue so messages exceeding the retry limit are moved aside.
Reliable JMS consumption requires transacted sessions so acknowledgment is deferred until processing succeeds, preventing loss when a flow node fails. Handling poison messages requires a retry limit and a dead letter queue so persistently failing messages are moved out of the main queue. Together, these two settings satisfy both the no-loss and the no-blocking requirements, while the other options either weaken reliability or address unrelated tuning concerns.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Enable 'Keep Alive' on the JMS adapter and set the acknowledgment mode to 'Auto' to reduce connection overhead during high-volume processing.
Why it's wrong here
Keep Alive and Auto acknowledgment are performance and convenience settings that do not provide transactional reliability. Auto acknowledgment acknowledges messages before processing completes, which is precisely the condition that leads to message loss on failure. This option would undermine both requirements and is not a valid reliability configuration for the described scenario.
- ✗
Increase the JMS queue's maximum message size and set the adapter's polling interval to zero so messages are consumed as fast as possible.
Why it's wrong here
Maximum message size and polling interval affect capacity and throughput, not reliability. A zero polling interval may increase load without improving delivery guarantees, and none of these settings prevent loss on failure or handle a poison message. This option addresses performance tuning rather than the transactional and retry semantics the scenario requires.
- ✗
Set the JMS transaction type to 'None' and enable the 'Use JMS Message ID as Correlation ID' option on the adapter.
Why it's wrong here
Setting transaction type to None means the message is acknowledged as soon as it is read, so a downstream failure after acknowledgment results in permanent message loss. The correlation ID option only affects how messages are correlated, not delivery guarantees. This combination directly contradicts the requirement to avoid message loss on processing failure.
- ✓
Configure the queue with a maximum retry count and a dead letter queue so messages exceeding the retry limit are moved aside.
Why this is correct
A retry limit combined with a dead letter queue prevents a poison message from being redelivered forever. After the configured number of failed attempts, the broker moves the message to the dead letter queue, unblocking normal processing. This addresses the second requirement, ensuring one bad message cannot stall the entire queue.
- ✓
Set the JMS transaction type to 'Transacted' so the message is only acknowledged after the integration flow completes successfully.
Why this is correct
With Transacted mode, the JMS session commits the acknowledgment only after the flow's processing completes, so a failure causes the message to remain in or return to the queue rather than being lost. This directly satisfies the no-message-loss requirement by tying acknowledgment to successful processing, which is the standard reliability pattern for JMS receivers.
About these practice questions
Courseiva writes every C_CPI question from scratch — 218 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official SAP exam blueprint
This C_CPI practice question is part of Courseiva's free SAP certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the C_CPI exam.