C_CPI Integration Suite Development Practice Question
A developer needs to read a message from an SAP Cloud Integration JMS queue and process it only if a custom header named Priority equals 'High'. The queue is shared by multiple consumers. Which approach ensures only high-priority messages are processed by this flow while others remain available for other consumers?
⚠ Common exam trap
The trap here is consuming all messages and filtering in the flow, which removes non-matching messages from the queue and prevents other consumers from processing them.
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 JMS sender adapter with a message selector that filters on the Priority header equal to 'High'.
JMS message selectors let a consumer filter messages by header or property values at the broker level. Configuring the JMS sender adapter with a selector for Priority = 'High' means the flow only receives matching messages, while non-matching messages remain in the queue for other consumers. This satisfies both the filtering and shared-queue requirements without extra routing logic.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Set the JMS sender adapter's transaction type to 'None' and rely on the adapter to skip messages without the Priority header.
Why it's wrong here
The transaction type controls commit and rollback behavior, not message filtering. Setting it to None disables transactional guarantees and does not cause the adapter to skip messages based on headers. Messages without the Priority header would still be consumed, so this option does not meet the requirement and weakens reliability.
- ✓
Configure the JMS sender adapter with a message selector that filters on the Priority header equal to 'High'.
Why this is correct
The JMS sender adapter supports message selectors, which allow the flow to consume only messages matching a header condition. Setting the selector to Priority = 'High' ensures this flow receives only high-priority messages, while other messages stay in the queue for other consumers. This is the standard JMS filtering mechanism and avoids processing unwanted messages.
- ✗
Consume all messages from the queue and use a Router step to discard those whose Priority header is not 'High'.
Why it's wrong here
Consuming all messages removes them from the queue, so other consumers can no longer process the non-high-priority messages. A Router that discards messages does not return them to the queue. This approach violates the requirement that other messages remain available, and it wastes processing capacity on unwanted messages.
- ✗
Create a separate JMS queue for high-priority messages and modify all producers to route based on the Priority header.
Why it's wrong here
Creating a separate queue changes the messaging topology and requires every producer to implement routing logic, which is outside the developer's control in a shared environment. It does not filter on the existing queue and may break other consumers expecting the original queue. The requirement is to filter consumption, not to redesign the queue structure.
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.