How can you translate Apache ActiveMQ Artemis addresses, anycast, multicast, paging, acknowledgments and redelivery so a global developer can identify the exact point where a message went? ActiveMQ Artemis localization requires more than replacing English queue terminology with fluent equivalents. Its address model separates the destination a producer sends to, the queue from which a consumer receives and the routing type that determines which queues receive a message.
This longform guide to Apache ActiveMQ Artemis technical translation explains queues and subscription queues, JMS and AMQP mappings, anycast and multicast routing, fully qualified queue names, address settings, automatic creation, back-pressure, disk paging, persistent journal records, duplicate detection, redelivery policy and dead-letter addresses. It is intended for software translators, API writers, international support teams, educators and developers documenting message brokers for users in many languages.
Consider an invented worldwide examination service: results are published to an Artemis address, an email system receives one copy through a subscription queue and a certificate processor receives another route. One consumer crashes and reprocesses a result. Meanwhile, address paging grows because a downstream service slows. A translation that calls the address a physical queue, paging an archive or redelivery a new examination attempt would lead the team astray. The examples below use fictional data and preserve the distinction between broker routing and business actions.
Quick answer: addresses route; queues hold; consumers decide business results
Apache ActiveMQ Artemis uses addresses, queues and routing types as separate core ideas. In a common anycast pattern, a message is routed to one queue and consumers compete for work. In a multicast pattern, a message can be routed to every matching subscription queue. Acknowledgment concerns the broker and the consumer session; it does not by itself guarantee that external business effects are exactly once. Paging protects memory by moving messages to disk under configuration, but it is not archival retention. Every translated statement should identify whether it concerns routing, storage, delivery, settlement, recovery or application completion.
A worked scenario for international education operations
A fictional student-record event is sent to an address named results.published. Two multicast subscription queues are bound: one for notices, one for a quality audit. The notice consumer encounters a temporary API failure and rolls back delivery. Artemis schedules redelivery according to its configured policy; the audit consumer may already have successfully acknowledged its copy. Meanwhile, the notice queue accumulates messages and its address may page to disk. A support bulletin must therefore say ‘delivery to notice processor pending’ rather than ‘all examination results unpublished’. Each queue has its own state, and the external email service’s outcome still requires separate evidence.
Apache ActiveMQ Artemis terminology in practical localization
1. Address
Meaning: An address is the named destination to which producers send messages. Queues attach to it, and a routing type controls how incoming messages reach those queues.
Translation trap: Do not equate an address with a consumer inbox; an address may have several queues or none.
What a reviewer can verify: Verify the address name and associated routing and queue configuration.
2. Queue
Meaning: A queue holds messages made available for consumers, bound to an address. Its name is a distinct resource identifier and its properties affect delivery behavior.
Translation trap: A queue is not just another word for the address, even if a common configuration gives both the same name.
What a reviewer can verify: Inspect the queue binding and current message count.
3. Anycast
Meaning: Anycast routes a message to one eligible queue on an address, supporting point-to-point and competing-consumer patterns. Distribution among multiple queues follows broker rules.
Translation trap: Do not translate anycast as internet anycast routing or a guarantee that exactly one business result occurs.
What a reviewer can verify: Identify the routing type configured for the message and address.
4. Multicast
Meaning: Multicast routes a message to all matching queues attached to the address, which supports publish-subscribe scenarios in which multiple subscriber groups receive copies.
Translation trap: Never describe multicast as merely broadcasting one physical message to a single shared worker.
What a reviewer can verify: Check every subscription queue and its matching rules.
5. Routing type
Meaning: Routing type is the choice between anycast and multicast behaviors at an address or queue. Protocol mappings can affect defaults and the path a client chooses.
Translation trap: Replacing the type with an informal word such as ‘distribution’ can hide cardinality and duplication.
What a reviewer can verify: Preserve the anycast and multicast terms in examples and define them clearly.
6. Subscription queue
Meaning: A subscription queue represents a subscriber’s message delivery state under protocols such as JMS. Several queues may be created for one topic-like address.
Translation trap: Avoid stating that the publisher manages independent copies for each subscriber by hand.
What a reviewer can verify: Check subscriber identity, queue durability and queue lifecycle.
7. Competing consumer
Meaning: Multiple clients can consume from a shared anycast queue so work is distributed according to availability. They share queue state rather than each receiving every event.
Translation trap: Do not translate ‘competing’ as adversarial or imply that every consumer gets a full copy.
What a reviewer can verify: Verify the number of queues and active consumers.
8. JMS queue
Meaning: The JMS Queue abstraction usually maps to Artemis point-to-point behavior and an underlying address/queue combination. Its semantics depend on client and server configuration.
Translation trap: Do not rename JMS Queue as JMS Topic because the application has multiple readers.
What a reviewer can verify: Check the JMS destination type and mapping.
9. JMS topic
Meaning: The JMS Topic abstraction supports publish-subscribe messaging through subscription queues. Durable and non-durable subscriber choices matter for offline reception.
Translation trap: Do not guarantee every historical topic message reaches a subscriber that did not retain a durable subscription.
What a reviewer can verify: Inspect subscription creation and persistence behavior.
10. AMQP node
Meaning: AMQP clients address links and nodes under protocol conventions. Artemis maps these to broker addresses and queues, sometimes using prefixes or fully qualified naming.
Translation trap: Do not assume AMQP terminology is a word-for-word synonym for JMS classes.
What a reviewer can verify: Test sending and receiving with the actual client library.
11. MQTT topic
Meaning: MQTT topic-based publishing uses subscription routing concepts that Artemis maps into its address model. QoS and persistent session semantics belong to the protocol layer.
Translation trap: Do not conflate an MQTT topic name with a physical message queue stored for all potential future clients.
What a reviewer can verify: Check QoS, session settings and broker subscription state.
12. STOMP destination
Meaning: STOMP clients refer to generic destinations. Artemis interprets them according to configuration and routing prefixes where used.
Translation trap: Do not invent an implicit anycast or multicast guarantee from the destination string alone.
What a reviewer can verify: Confirm the protocol configuration and destination mapping.
13. Core protocol
Meaning: Artemis has a native Core protocol and client facilities. Behavior available through it does not automatically map one-to-one to every supported protocol.
Translation trap: Do not claim a Core-specific acknowledgment feature is present in every JMS or MQTT client.
What a reviewer can verify: Identify the API and version in all technical examples.
14. Fully qualified queue name
Meaning: An FQQN uses address::queue syntax to identify a particular queue on an address. It is valuable when the application must avoid ambiguous address-based routing.
Translation trap: Translating the two colons or renaming either segment can break working examples.
What a reviewer can verify: Retain exact syntax and test with the target protocol.
15. Auto-create addresses
Meaning: Configured policies can allow the broker to create addresses as clients use them. Automatic creation is a configuration choice, not an immutable product rule.
Translation trap: Do not instruct operators that every absent address will be created automatically in secure production systems.
What a reviewer can verify: Read the relevant auto-create settings.
16. Auto-create queues
Meaning: Some configurations create queues automatically or as part of normal subscription mapping. Lifecycle and defaults depend on context.
Translation trap: Avoid saying that a queue always appears permanently merely because one temporary subscriber connected.
What a reviewer can verify: Inspect queue creation policies and durability.
17. Auto-delete resources
Meaning: The broker can automatically delete certain unused queues or addresses when conditions allow. This is not equivalent to removing all data at a fixed customer retention deadline.
Translation trap: Do not translate resource cleanup as an administrative wipe of all related records in every service.
What a reviewer can verify: Check auto-delete conditions and the resource type.
18. Default routing type
Meaning: Default routing settings influence newly created addresses or queues where a protocol does not specify routing explicitly.
Translation trap: Do not describe the default as a universal guarantee across every deployed Artemis installation.
What a reviewer can verify: Check address settings and actual resource configuration.
19. Address settings
Meaning: Address settings apply configurable policies such as redelivery, expiry, paging and security-related handling to matching destinations.
Translation trap: An address-setting rule is not always a rule for only one exact queue; wildcard matches can broaden scope.
What a reviewer can verify: Verify matching patterns and precedence.
20. Wildcard matching
Meaning: Artemis supports wildcard address patterns for policy and subscription behavior. Different wildcard characters may have distinct meanings.
Translation trap: Do not reinterpret wildcard symbols as punctuation for natural-language readability.
What a reviewer can verify: Keep pattern bytes unchanged and test intended matches.
21. Acceptor
Meaning: An acceptor defines how clients connect into the broker, including transport and supported protocols. A listening acceptor is not evidence that a consumer processed a message.
Translation trap: Avoid rendering ‘acceptor online’ as ‘all requests accepted and completed’.
What a reviewer can verify: Inspect protocol negotiation and connection logs.
22. Connector
Meaning: A connector defines client-side connection information used for outbound links or broker topology. It serves a different role from an acceptor.
Translation trap: Do not translate connector as the end-user worker that consumes application messages.
What a reviewer can verify: Verify the endpoint and the component using it.
23. Bridge
Meaning: An Artemis bridge can forward messages from a source queue to a target address across brokers according to its configuration.
Translation trap: A bridge connection being configured does not prove every forwarded message has been consumed by downstream applications.
What a reviewer can verify: Check bridge metrics and target address state.
24. Divert
Meaning: A divert routes or copies messages toward another address under configured rules. Exclusive and nonexclusive behaviors have different consequences.
Translation trap: Do not present divert as necessarily copying every message while also preserving the original route.
What a reviewer can verify: Review divert conditions and exclusivity.
25. Cluster connection
Meaning: Cluster connections coordinate brokers for topology and message distribution. Clustering does not automatically mean identical full copies of every queue.
Translation trap: Avoid translating clustered brokers as a replicated archive with unconditional global ordering.
What a reviewer can verify: Check distribution settings and queue topology.
26. Producer
Meaning: A producer creates or sends messages to an address. Send success and consumer completion are separate observations.
Translation trap: Do not render ‘producer sent event’ as ‘recipient used event successfully’.
What a reviewer can verify: Review producer acknowledgment and transaction behavior.
27. Consumer
Meaning: A consumer receives eligible queue messages through a supported session. It can fail after receiving data, leading to redelivery.
Translation trap: A consumer instance is not inherently a distinct subscribing organization; multiple instances may share one queue.
What a reviewer can verify: Verify queue, subscription and application group.
28. Durable subscription
Meaning: A durable subscription retains its subscription identity and message handling state according to protocol and broker rules when the consumer is offline.
Translation trap: Do not translate durable as forever archived or proof a downstream notification was sent.
What a reviewer can verify: Inspect subscription name, client identity and retention constraints.
29. Non-durable subscription
Meaning: A non-durable subscription may be tied to an active session and may disappear when that relationship ends under configured rules.
Translation trap: Do not claim an offline non-durable subscriber has a permanent historical queue waiting for it.
What a reviewer can verify: Verify subscriber lifecycle and resource cleanup.
30. Queue filter
Meaning: A queue filter can determine which messages are routed into a queue based on properties. Filter mismatch can prevent a message from ever appearing there.
Translation trap: Do not report a filtered-out message as a failed consumer acknowledgment.
What a reviewer can verify: Check filter expression and producer properties.
31. Consumer selector
Meaning: A consumer selector influences which eligible queued messages are delivered to that consumer. It is distinct from filtering messages at routing time.
Translation trap: Do not combine queue filtering and consumer selection into one universal policy.
What a reviewer can verify: Examine selector expressions and remaining queue state.
32. Exclusive queue
Meaning: An exclusive queue limits consumption to one active consumer under its policy, useful where serialization matters.
Translation trap: Do not translate exclusive as a security promise that only one person in the world can publish to the address.
What a reviewer can verify: Check exclusive setting and producer permissions.
33. Message grouping
Meaning: Grouping features can keep related messages associated with a consumer under supported semantics, helping ordering-sensitive workloads.
Translation trap: Do not infer global total order for unrelated groups or all queues in a cluster.
What a reviewer can verify: Inspect group identifiers and consumer reassignment behavior.
34. Acknowledgment
Meaning: A consumer acknowledges delivery or processing to the broker according to the API and transaction model. It may still have independent external work.
Translation trap: Avoid equating broker acknowledgment with success in a separate billing or email service.
What a reviewer can verify: Identify API acknowledgment mode and commit points.
35. Auto acknowledgment
Meaning: Automatic acknowledgment behavior can occur at framework-defined times. It may weaken the application’s ability to retry work after certain failures.
Translation trap: Do not advertise auto acknowledgment as guaranteeing every database operation succeeded.
What a reviewer can verify: Check client library and callback lifecycle.
36. Client acknowledgment
Meaning: Some APIs require a client to acknowledge messages explicitly, making the application’s control flow critical to redelivery behavior.
Translation trap: Do not assume an acknowledgment affects just one message without checking session semantics.
What a reviewer can verify: Review the specific API’s acknowledgment scope.
37. Transacted session
Meaning: A transacted session coordinates message operations and acknowledges them at commit or rollback according to the supported client contract.
Translation trap: A session rollback is not automatically a rollback of any unrelated API call the worker made.
What a reviewer can verify: Identify transaction participants and final commit.
38. Delivery count
Meaning: Delivery-count fields indicate observed or persisted attempts under broker rules; certain crash conditions can affect whether the count reflects all attempts.
Translation trap: Do not treat count as a perfect audit record of human-visible actions.
What a reviewer can verify: Inspect persistence settings and worker traces.
39. Redelivery
Meaning: A message that was not successfully settled can be offered again. A new delivery attempt is not necessarily a new producer event.
Translation trap: Do not invent a new order, exam submission or payment whenever the broker retries one message.
What a reviewer can verify: Track stable IDs and previous external effects.
40. Redelivery delay
Meaning: Redelivery delay postpones a new attempt after an unsuccessful delivery. It may be configured to reduce pressure during temporary faults.
Translation trap: Do not mistake retry delay for message expiry or a fixed delivery deadline.
What a reviewer can verify: Verify units, base delay and subsequent attempts.
41. Redelivery multiplier
Meaning: The multiplier can increase retry delays over successive attempts, subject to other configured caps and collision factors.
Translation trap: Do not translate an exponential backoff rule into a flat delay that implies each attempt occurs at equal intervals.
What a reviewer can verify: Calculate a small example from the deployed settings.
42. Collision avoidance
Meaning: Randomized variation of redelivery timing can keep many failed consumers from retrying simultaneously and overwhelming a shared dependency.
Translation trap: Do not present this term as detecting duplicate customer identities or network packet collisions.
What a reviewer can verify: Check factor configuration and actual time windows.
43. Max delivery attempts
Meaning: An address policy may cap unsuccessful deliveries before moving messages to a configured dead-letter address or handling them otherwise.
Translation trap: Do not promise a dead-letter copy when there is no valid dead-letter destination and policy.
What a reviewer can verify: Inspect max-delivery-attempts and target resources.
44. Dead-letter address
Meaning: A dead-letter address receives repeatedly undeliverable or unsuccessfully handled messages under relevant configuration, often with a queue bound to it.
Translation trap: Do not confuse the address with a single inevitable physical dead-letter queue or a general archive.
What a reviewer can verify: Verify address, queue binding and DLQ consumer.
45. Expiry address
Meaning: An expiry address can receive expired messages. Expiry is time-related, unlike repeated delivery failure controlled by max attempts.
Translation trap: Avoid translating expired message as a poison-message failure or a learner’s expired enrolment.
What a reviewer can verify: Read expiry policy, target address and original message metadata.
46. Scheduled delivery
Meaning: Scheduled delivery lets a message become eligible at a later time through supported mechanisms. It does not guarantee precise wall-clock processing of downstream work.
Translation trap: Do not say ‘completed at scheduled second’ when the setting only governs eligibility.
What a reviewer can verify: Check scheduler property and queue capacity.
47. TTL
Meaning: Time-to-live limits the message’s useful lifetime under its protocol and broker rules. It does not dictate the legal shelf life of a document.
Translation trap: Do not reuse TTL wording for warranty or academic credential validity.
What a reviewer can verify: Verify source units and expiry application.
48. Duplicate detection
Meaning: Artemis can use duplicate identifiers to detect some repeated sends, often valuable after an uncertain producer response. The feature has scope and configured storage limits.
Translation trap: Do not translate broker duplicate detection as exactly-once side effects in external systems.
What a reviewer can verify: Inspect duplicate ID property, cache configuration and idempotency beyond the broker.
49. Large messages
Meaning: Large-message support changes storage and transfer handling for substantial payloads. It does not exempt the message from limits, security controls or the need for valid encoding.
Translation trap: Avoid calling a large message an attachment already delivered to a customer email.
What a reviewer can verify: Check client limits and payload-handling rules.
50. Paging
Meaning: Paging moves message storage to disk when address memory pressure reaches configured levels, letting the broker cope with large backlogs.
Translation trap: Do not translate paging as user-facing page numbers, permanent cold storage or a delivery confirmation.
What a reviewer can verify: Inspect address-full-policy and paging metrics.
51. Page files
Meaning: Page files are on-disk structures involved in paged message storage and consumption. Their lifecycle is managed by the broker according to acknowledgment progress.
Translation trap: Do not instruct operators to delete these files to clear a queue without proper procedures.
What a reviewer can verify: Use broker tooling and examine page cursor and acknowledgment state.
52. Address-full-policy PAGE
Meaning: The PAGE policy allows the broker to page messages rather than keeping all messages in active memory, subject to disk and operational limits.
Translation trap: Do not promise infinite capacity merely because paging is enabled.
What a reviewer can verify: Check max-size settings and available disk resources.
53. Address-full-policy BLOCK
Meaning: The BLOCK policy can apply back-pressure to producers when limits are reached, rather than silently losing messages.
Translation trap: Do not translate ‘blocked producer’ as a security ban or dead customer account.
What a reviewer can verify: Measure producer wait and available capacity.
54. Address-full-policy FAIL
Meaning: The FAIL policy causes sends to fail when address capacity policy triggers, informing clients that the operation was not accepted.
Translation trap: Do not describe a rejected send as a queued message waiting for later consumption.
What a reviewer can verify: Check client exception or return state and retry behavior.
55. Address-full-policy DROP
Meaning: The DROP policy permits dropping messages at configured limits, which has materially different loss behavior from blocking or failing producers.
Translation trap: Never euphemize DROP as a harmless postponement that preserves all messages.
What a reviewer can verify: Verify whether the active destination truly has this policy.
56. Journal
Meaning: A message journal records persistent broker state needed for recovery according to the storage implementation. It is not a human-readable log of every end-user decision.
Translation trap: Do not confuse journal entries with application audit events or translated news articles.
What a reviewer can verify: Inspect broker storage documentation and backup procedures.
57. Disk-full policy
Meaning: Disk usage protections can block or fail producers to avoid exhausting storage. Actual behavior depends on configured thresholds and deployment.
Translation trap: Do not assume full disk and full address are the same condition.
What a reviewer can verify: Check disk percentage, policy and observed producer errors.
58. High availability
Meaning: HA mechanisms keep broker service available through supported failure scenarios using topology and recovery strategies. Failover can still require client reconnection.
Translation trap: Do not translate HA into zero-loss, zero-delay or exactly-once business-completion claims.
What a reviewer can verify: Document failover mode and test evidence.
59. Replication
Meaning: Replication can copy necessary broker state for HA across live and backup components, depending on configured mode. It is not unrestricted global topic broadcasting.
Translation trap: Do not mix storage replication with multicast delivery to subscribers.
What a reviewer can verify: Identify HA mode and confirmation policy.
60. Quorum
Meaning: Quorum decisions can affect HA activation or failover safety in supported topologies, reducing split-brain risk at the cost of availability trade-offs.
Translation trap: Do not turn quorum into a marketing assurance that every participant always agrees instantaneously.
What a reviewer can verify: Check deployment version and voting configuration.
61. Broker XML
Meaning: The broker.xml configuration contains addresses, acceptors, storage and other runtime settings. It is machine-readable operational configuration.
Translation trap: Translate prose around configuration, but do not rewrite XML property names or values without validating meaning.
What a reviewer can verify: Retain runnable samples and test parse validity.
62. Security roles
Meaning: Security settings grant operations such as send, consume, browse and manage to roles according to match patterns.
Translation trap: Avoid treating permission to send to one address as universal broker administrator access.
What a reviewer can verify: Check effective authorization for the actual address.
63. Monitoring metrics
Meaning: Metrics distinguish in-memory and paged messages, consumers, acknowledgments, failures and other operational observations. A metric name is not a full diagnosis.
Translation trap: Do not translate a successful connection count into a claim that all students received notifications.
What a reviewer can verify: Correlate queue metrics with application outcome records.
Ten worked incidents: practice the difference between system states
1. One address, two subscriber queues
A publish event is routed by multicast to an audit queue and a notification queue. The audit system acknowledges its copy while the notification system remains unavailable. A localized incident must state which queue has a backlog rather than reporting that the original publication failed. The fact that one consumer is healthy does not certify the other.
Diagnostic exercise: Rewrite the incident headline in a way that states the affected address or queue, the responsible process, the observed outcome and what remains unknown. A good translation should support the same operational decision in every target language, including a decision not to replay a message until external effects are reconciled.
2. An anycast message handled by one worker
Several workers share one queue. A message is dispatched to one available consumer, but that worker crashes before settlement. Another worker later receives it. The correct translation says ‘redelivered for processing’ rather than ‘new message created’. Any external result written before the crash requires its own duplicate-protection strategy.
Diagnostic exercise: Rewrite the incident headline in a way that states the affected address or queue, the responsible process, the observed outcome and what remains unknown. A good translation should support the same operational decision in every target language, including a decision not to replay a message until external effects are reconciled.
3. Message rejected at capacity
An address uses FAIL under a capacity policy. A producer gets an error instead of a durable queue entry. Translate that as a rejected send requiring application-level handling, not as delayed processing. Compare this with BLOCK, in which the producer may wait, and PAGE, in which pressure moves into storage.
Diagnostic exercise: Rewrite the incident headline in a way that states the affected address or queue, the responsible process, the observed outcome and what remains unknown. A good translation should support the same operational decision in every target language, including a decision not to replay a message until external effects are reconciled.
4. Paging is not indefinite retention
A support agent sees page files growing. The phrase ‘records safely archived on disk’ sounds reassuring but confuses temporary pressure management with a retention policy. State that Artemis paged queued messages because of memory pressure; then check disk limits, acknowledgment progress, and the appropriate data lifecycle.
Diagnostic exercise: Rewrite the incident headline in a way that states the affected address or queue, the responsible process, the observed outcome and what remains unknown. A good translation should support the same operational decision in every target language, including a decision not to replay a message until external effects are reconciled.
5. Dead-letter address versus expiry address
One message exceeds delivery attempts after repeated application exceptions; another expires due to its time-to-live. They may travel to different configured addresses and require different responses. Do not translate either merely as ‘deleted’ until you inspect actual routing and whether a target queue exists.
Diagnostic exercise: Rewrite the incident headline in a way that states the affected address or queue, the responsible process, the observed outcome and what remains unknown. A good translation should support the same operational decision in every target language, including a decision not to replay a message until external effects are reconciled.
6. FQQN typo in translated documentation
A localization changes address::queue into address:queue to improve punctuation. A copied client example now addresses the wrong resource or fails. Preserve exact syntax. Translate only surrounding prose, and keep a code-snippet test in the documentation review procedure.
Diagnostic exercise: Rewrite the incident headline in a way that states the affected address or queue, the responsible process, the observed outcome and what remains unknown. A good translation should support the same operational decision in every target language, including a decision not to replay a message until external effects are reconciled.
7. JMS and AMQP vocabulary mismatch
A JMS topic tutorial and an AMQP node guide describe related Artemis resources with differing API vocabulary. A glossary that declares them identical in every circumstance can lead to wrong configuration. Explain both layers and use an address/queue mapping diagram to ground equivalent behavior.
Diagnostic exercise: Rewrite the incident headline in a way that states the affected address or queue, the responsible process, the observed outcome and what remains unknown. A good translation should support the same operational decision in every target language, including a decision not to replay a message until external effects are reconciled.
8. Redelivery count after a crash
A monitoring panel claims a message has not previously been delivered, but a worker trace shows a prior crash. Delivery-count persistence settings can affect what survives abnormal failure. The guide should report the observed inconsistency instead of accusing the application of inventing an attempt.
Diagnostic exercise: Rewrite the incident headline in a way that states the affected address or queue, the responsible process, the observed outcome and what remains unknown. A good translation should support the same operational decision in every target language, including a decision not to replay a message until external effects are reconciled.
9. Auto-created queue disappears
A temporary subscription created a resource and later was cleaned up under lifecycle rules. Do not translate disappearance as an administrator deleting the organization’s whole results archive. Check the subscription’s durability and which messages, if any, were retained elsewhere.
Diagnostic exercise: Rewrite the incident headline in a way that states the affected address or queue, the responsible process, the observed outcome and what remains unknown. A good translation should support the same operational decision in every target language, including a decision not to replay a message until external effects are reconciled.
10. HA failover and uncertain external effect
After failover, the broker resumes, but a certificate email sent just before interruption has uncertain status. Artemis recovery cannot prove a third-party mail API delivered the letter. Describe the boundary; preserve a business idempotency key and reconcile with the email provider’s delivery evidence.
Diagnostic exercise: Rewrite the incident headline in a way that states the affected address or queue, the responsible process, the observed outcome and what remains unknown. A good translation should support the same operational decision in every target language, including a decision not to replay a message until external effects are reconciled.
Translation and documentation workflow
Practice 1: Map routes
Build a routing map before writing translations: producer, protocol, address, routing type, queues, subscription identity, consumer and external business system. When a sentence claims ‘sent’, mark the object at which the send was observed; when it claims ‘completed’, identify the independent business record that proves completion.
Practice 2: Protect configuration
Create a terminology register with exact property names and separate editable descriptions. A glossary can translate ‘message expires after a time limit’, but a code snippet must keep expiry-address, max-delivery-attempts, address-full-policy and address::queue byte-for-byte unless the application intentionally changes its configuration.
Practice 3: Test routing semantics
Prepare a test matrix for anycast and multicast. Use one address with one anycast queue, a second address with two multicast subscription queues and a mixed-protocol client example. Have a reviewer predict which consumers get messages before comparing the prediction with actual test results.
Practice 4: Simulate recoverable failures
Run recoverable-failure exercises. Stop a consumer after the external database write but before acknowledgment; then restart and observe redelivery. Repeat with an unsuccessful transaction and with a message that exceeds delivery attempts. The translated explanation must describe the observed state, not a platform-wide exactly-once promise.
Practice 5: Differentiate capacity policies
Check queue-capacity language using PAGE, BLOCK, FAIL and DROP as different policy branches. A reader should understand which configuration stores more data, makes producers wait, returns failure or permits loss. The target language must not flatten those options into ‘buffering’.
Practice 6: Verify counters and timing
Review time and counter semantics. Delivery attempt counts, redelivery delays, expiry intervals, message ages and scheduled eligibility each measure something different. Preserve units, conditions and timestamps; do not silently convert a variable delay into a fixed time promise.
Practice 7: Use fictional safe examples
Protect privacy and reliability together. Examples should use fictional student identifiers and synthetic payloads. Avoid publishing real exam results, access credentials, queue management tokens or operationally sensitive topology details. Security roles and customer-facing authorization are related but distinct.
Practice 8: Check deployed versions
Ask an engineer who knows the deployed Artemis version to verify uncertain defaults, especially around protocol mapping, subscription lifecycle, message expiration and HA topology. Default behavior can be version- and configuration-sensitive; a translation must not invent universal defaults.
Practice 9: Validate examples
Validate snippets mechanically when possible. XML, code, properties and FQQNs should parse and address the intended resource after language editing. Correct-looking typography is less important than a working example that reliably demonstrates the promised route.
Practice 10: Compare operational decisions
Finish with cross-language incident review: can an operator distinguish ‘message routed to queue’, ‘delivered to consumer’, ‘retried after rollback’, ‘sent to dead-letter address’ and ‘business side effect completed’? Those distinctions are the practical measure of translation quality.
Frequently asked questions
Is an Artemis address the same as a queue?
No. Producers send to addresses, and messages become available through queues bound to those addresses. A single address may have multiple queues. The routing type determines which queues receive a message.
When should a translator retain the words anycast and multicast?
Retain them as technical terms in instructions and code-adjacent labels, with an explanatory translation if needed. They determine whether messages reach a selected queue or all matching queues and therefore change operational behavior.
Does a successful multicast publish mean each subscriber completed its task?
No. Routing may put copies into subscription queues, but each consumer has separate delivery, acknowledgment and downstream processing steps. Report those steps individually when translating incidents.
Does paging mean messages were archived permanently?
No. Paging is broker memory management using disk-backed page files. Retention, expiration, acknowledgment and deletion are separate mechanisms. The translated text should never imply a preservation guarantee not configured by the system.
Can duplicate detection prevent every duplicate payment?
No. Broker duplicate detection addresses particular repeated sends using duplicate IDs and configuration. It does not automatically undo an external payment or make a remote API atomic with message settlement.
What does redelivery delay change?
It postpones a retry of a message that did not settle successfully. It may reduce thrashing when a dependency is temporarily unavailable, but does not convert a failed task into a completed one.
Can dead-letter handling happen without any queue?
A dead-letter address and its bindings must be correctly configured for the intended behavior. Do not assume the name alone means a durable consumer-readable queue exists. Verify the actual resources before writing an operation guide.
Why do JMS and AMQP instructions use different nouns?
Each protocol has its own resource vocabulary and client behavior. Artemis maps them onto addresses and queues. A faithful translation keeps the API-level name while explaining the underlying resource when relevant.
Should configuration property names be localized?
No, not inside runnable configuration or code. Keep property names, protocol identifiers and address strings exact. Translate adjacent descriptive text and permitted human-facing UI labels.
Is exclusive consumption the same as restricting producers?
No. It constrains consumer access patterns; send permissions are managed separately. A security statement should specify which operations and identities are authorized.
What evidence belongs in a paging incident?
Include address, queue, configured full policy, memory limit, page usage, disk headroom, producer behavior, consumer backlog and timestamps. Avoid treating a single metric as proof of success or failure.
What would a reliable multilingual runbook look like?
It would show exact resource names, diagrams separating addresses and queues, unchanged configuration snippets, worked rollback and failover cases, and target-language warnings reviewed by operators who can reproduce the stated behavior.
Official documentation and useful cross-references
Specific guarantees and defaults vary with release, protocol, client library and configuration. Check the current Apache documentation when writing an operational procedure, and avoid copying a code example without validating it in the intended environment.
ActiveMQ Artemis — Address Model
ActiveMQ Artemis — Message Redelivery and Undelivered Messages
ActiveMQ Artemis — Duplicate Detection
Related: RabbitMQ localization
Conclusion: terminology is the architecture of a truthful explanation
The difference between an address and queue is not a small vocabulary preference. It determines who receives a message, when a consumer can acknowledge it and what evidence is still needed before an external result can be declared complete. Translate route, storage, retry and business processing as separate events. Keep all code identifiers and configuration values exact, compare claims against a known failure test, and make every warning sufficiently precise that operators in different countries would take the same safe action.