About Java Message Service: Wikipedia: Jakarta Messaging API Link
Supported protocol: AMQPS (Wikipedia: Advanced Message Queuing Protocol Link
)
⚠️ Important:
• Dependency jar files must be downloaded (unzip) and placed in your CrushFTP Install Folder/plugins/ lib. ⚠️ Restart is required to load the new JMS-related dependency jars. Download Link
• CrushFTP’s JMSTask supports JMS providers that use the AMQP 1.0 protocol.
⚠️ Proxy Configuration: If your server accesses the internet through a proxy, ensure that the AMQPS domains are whitelisted.
1. Solace JMS Integration
More info about Solace JMS AMQP: Why Solace Support for AMQP 1.0? Link
Get the AMQPS URL, username, and password from your Solace broker for use in the JMSTask JNDI configuration.

2. Apache ActiveMQ Artemis and Amazon MQ Integration
2.1 Apache ActiveMQ Artemis
More info: ActiveMQ Artemis Documentation Link
⚠️ Important: To connect JMSTask to Apache ActiveMQ Artemis over AMQPS, ensure your Artemis broker is configured to accept secure AMQP connections.

JNDI connection related settings example:
a.)
• transport.trustAll=true -> Accepts all SSL certificates.
• transport.verifyHost=false -> Disables hostname verification in the TLS handshake.
b.)
2.2 Amazon MQ
CrushFTP also supports integration with Amazon MQ, a managed message broker service compatible with ActiveMQ and Artemis. Amazon MQ (official site) Link
More info: Amazon MQ – Managed Message Broker Service for ActiveMQ Link
Sign in to AWS Console and Navigate to Amazon MQ Select your Broker. Click on the name of your ActiveMQ or Artemis broker. Scroll down to the Connections section.

3 Azure Service Bus Integration:
Azure Service Bus Link
AMQP 1.0 in Azure Service Bus and Event Hubs protocol guide Link

To get AMQPS URL:
a.) Open your Service Bus namespace in the Azure Portal
b.) Go to Settings → Shared access policies
c.) Select a policy (e.g., RootManageSharedAccessKey)
d.) Copy the namespace name (e.g., your-namespace.servicebus.windows.net)
e.) Combine as amqps://your-namespace.servicebus.windows.net:5671

4. JMSTask configuration:
4.1 JNDI config: Variable replacement is supported.
More info about Java Naming and Directory Interface: Wikipedia: Java Naming and Directory Interface Link
JNDI is a system used by some applications to store and access connection details—like the server address, username, and password—as well as the names of messaging channels (called topics and queues).In simple terms, it helps the application know where to connect and where to send or receive messages, without needing to hard-code those details every time.

Configuration example:
java.naming.factory.initial=org.apache.qpid.jms.jndi.JmsInitialContextFactory: This tells the application which type of messaging system it is connecting to. ⚠️ Do not change!
connectionfactory.qpidConnectionfactory=amqps://mr-connection-XXXXd:56XX or
connectionfactory.qpidConnectionfactory=amqps://mr-connection-XXXXd:56XX?transport.trustAll=true&transport.verifyHost=false
This is the secure address of the messaging server (uses AMQPS, which is encrypted). It tells the application where to connect to send and receive messages.
⚠️ Important: JMSTask uses sasl.enabled.mechanisms=PLAIN by default.
username=solace-XXXX password=rsaXXXXXX: These are the login credentials used to access the messaging server.
topic.my_topic_name=my_topic_name: A topic is a named channel where messages are published. Applications can subscribe to this topic to receive relevant messages.
queue.my_queue=my_queue: A queue is another type of message destination. Unlike topics, queues hold messages until they are delivered to a specific recipient.
4.2 Producer Mode:
Producer mode means the system is acting as a sender, creating and sending messages to a messaging server. It does not receive or process incoming messages—its role is only to send out information, such as updates or alerts, to other systems or services.

1. Destination Name: It refers to the Topic or Queue that has been set up in the JNDI configuration. You can also use CrushTaskVariables to automatically insert values into the name, allowing for flexible and dynamic message routing.
2. Advanced Options:
Persistent: If enabled, messages will not be lost even if the messaging server goes down and restarts. They are stored safely until delivered.
Time to live: Sets how long a message remains valid. After this time passes, the message will automatically expire if not delivered.
Priority: Determines the importance of the message. Values range from 0 to 9 — 0 to 4 are normal priority, while 5 to 9 are treated as high priority.
3. Message Type: Custom Message: Send a custom message to the destination as text or binary. Variable replacement is supported, allowing you to insert dynamic values. You can loop through incoming files and send multiple custom messages containing file-related details such as name, path, or URL.
4. Message Type: Send files: Sends the file content in binary mode directly to the destination. ⚠️ The maximum allowed file size is 10 MB.
4.3 Consumer Mode:
Consumer mode means the system is set up to receive messages from a messaging server, such as updates, alerts, or file notifications. It listens on a specific topic or queue and processes incoming messages as they arrive. This mode is used when the system needs to react to events or data sent by other systems.

1. Destination name: It refers to the Topic or Queue that has been set up in the JNDI configuration. You can also use CrushTaskVariables to automatically insert values into the name, allowing for flexible and dynamic message routing.
2. Message settings: Configure how messages are received by setting a limit on the number of messages to process and a timeout that defines how long the system should wait for new messages. These settings help control how the system handles incoming message traffic and delays.
3. Store settings: Saves the received message (⚠️ up to 10 MB) as a file at the specified location. You need to provide a File Name, ⚠️ and it’s recommended to make it unique to prevent overwriting existing files. Variable replacement is supported for dynamic file naming.
Message-related variables:

Supported protocol: AMQPS (Wikipedia: Advanced Message Queuing Protocol Link

⚠️ Important:
• Dependency jar files must be downloaded (unzip) and placed in your CrushFTP Install Folder/plugins/ lib. ⚠️ Restart is required to load the new JMS-related dependency jars. Download Link

• CrushFTP’s JMSTask supports JMS providers that use the AMQP 1.0 protocol.
⚠️ Proxy Configuration: If your server accesses the internet through a proxy, ensure that the AMQPS domains are whitelisted.
1. Solace JMS Integration
#
More info about Solace JMS AMQP: Why Solace Support for AMQP 1.0? Link

Get the AMQPS URL, username, and password from your Solace broker for use in the JMSTask JNDI configuration.

2. Apache ActiveMQ Artemis and Amazon MQ Integration
#
2.1 Apache ActiveMQ Artemis
#
More info: ActiveMQ Artemis Documentation Link

⚠️ Important: To connect JMSTask to Apache ActiveMQ Artemis over AMQPS, ensure your Artemis broker is configured to accept secure AMQP connections.

JNDI connection related settings example:
a.)
# Secured AMQP Host connectionfactory.qpidConnectionfactory=amqps://192.168.0.10:5671?transport.trustAll=true&transport.verifyHost=false
• transport.trustAll=true -> Accepts all SSL certificates.
• transport.verifyHost=false -> Disables hostname verification in the TLS handshake.
b.)
# Secured AMQP Host connectionfactory.qpidConnectionfactory=amqps://my.artemis.com:5671
2.2 Amazon MQ
#
CrushFTP also supports integration with Amazon MQ, a managed message broker service compatible with ActiveMQ and Artemis. Amazon MQ (official site) Link


Sign in to AWS Console and Navigate to Amazon MQ Select your Broker. Click on the name of your ActiveMQ or Artemis broker. Scroll down to the Connections section.

amqps://<broker-id>.mq.<region>.amazonaws.com:5671
3 Azure Service Bus Integration:
#
Azure Service Bus Link

AMQP 1.0 in Azure Service Bus and Event Hubs protocol guide Link


To get AMQPS URL:
a.) Open your Service Bus namespace in the Azure Portal
b.) Go to Settings → Shared access policies
c.) Select a policy (e.g., RootManageSharedAccessKey)
d.) Copy the namespace name (e.g., your-namespace.servicebus.windows.net)
e.) Combine as amqps://your-namespace.servicebus.windows.net:5671

amqps://<namespace>.servicebus.windows.net:5671 username = <SAS-key-name> password = <SAS-key>
4. JMSTask configuration:
#
4.1 JNDI config: Variable replacement is supported.
#
More info about Java Naming and Directory Interface: Wikipedia: Java Naming and Directory Interface Link
JNDI is a system used by some applications to store and access connection details—like the server address, username, and password—as well as the names of messaging channels (called topics and queues).In simple terms, it helps the application know where to connect and where to send or receive messages, without needing to hard-code those details every time.

Configuration example:
# Context Factory (Do not change!) java.naming.factory.initial=org.apache.qpid.jms.jndi.JmsInitialContextFactory # Secured AMQP Host connectionfactory.qpidConnectionfactory=amqps://mr-connection-XXXXd:56XX #User name and password username=solace-XXXX password=rsaXXXXXX #Topic name topic.my_topic_name=my_topic_name queue.my_queue=my_queue
java.naming.factory.initial=org.apache.qpid.jms.jndi.JmsInitialContextFactory: This tells the application which type of messaging system it is connecting to. ⚠️ Do not change!
connectionfactory.qpidConnectionfactory=amqps://mr-connection-XXXXd:56XX or
connectionfactory.qpidConnectionfactory=amqps://mr-connection-XXXXd:56XX?transport.trustAll=true&transport.verifyHost=false
This is the secure address of the messaging server (uses AMQPS, which is encrypted). It tells the application where to connect to send and receive messages.
⚠️ Important: JMSTask uses sasl.enabled.mechanisms=PLAIN by default.
username=solace-XXXX password=rsaXXXXXX: These are the login credentials used to access the messaging server.
topic.my_topic_name=my_topic_name: A topic is a named channel where messages are published. Applications can subscribe to this topic to receive relevant messages.
queue.my_queue=my_queue: A queue is another type of message destination. Unlike topics, queues hold messages until they are delivered to a specific recipient.
4.2 Producer Mode:
#
Producer mode means the system is acting as a sender, creating and sending messages to a messaging server. It does not receive or process incoming messages—its role is only to send out information, such as updates or alerts, to other systems or services.

1. Destination Name: It refers to the Topic or Queue that has been set up in the JNDI configuration. You can also use CrushTaskVariables to automatically insert values into the name, allowing for flexible and dynamic message routing.
2. Advanced Options:
Persistent: If enabled, messages will not be lost even if the messaging server goes down and restarts. They are stored safely until delivered.
Time to live: Sets how long a message remains valid. After this time passes, the message will automatically expire if not delivered.
Priority: Determines the importance of the message. Values range from 0 to 9 — 0 to 4 are normal priority, while 5 to 9 are treated as high priority.
3. Message Type: Custom Message: Send a custom message to the destination as text or binary. Variable replacement is supported, allowing you to insert dynamic values. You can loop through incoming files and send multiple custom messages containing file-related details such as name, path, or URL.
4. Message Type: Send files: Sends the file content in binary mode directly to the destination. ⚠️ The maximum allowed file size is 10 MB.
4.3 Consumer Mode:
#
Consumer mode means the system is set up to receive messages from a messaging server, such as updates, alerts, or file notifications. It listens on a specific topic or queue and processes incoming messages as they arrive. This mode is used when the system needs to react to events or data sent by other systems.

1. Destination name: It refers to the Topic or Queue that has been set up in the JNDI configuration. You can also use CrushTaskVariables to automatically insert values into the name, allowing for flexible and dynamic message routing.
2. Message settings: Configure how messages are received by setting a limit on the number of messages to process and a timeout that defines how long the system should wait for new messages. These settings help control how the system handles incoming message traffic and delays.
3. Store settings: Saves the received message (⚠️ up to 10 MB) as a file at the specified location. You need to provide a File Name, ⚠️ and it’s recommended to make it unique to prevent overwriting existing files. Variable replacement is supported for dynamic file naming.
Message-related variables:
{message_id}, {message_priority}, {message_expiration}, {message_type}, {message_correlation_id}, {message_reply_to}
Add new attachment
Only authorized users are allowed to upload new attachments.
List of attachments
Kind | Attachment Name | Size | Version | Date Modified | Author | Change note |
---|---|---|---|---|---|---|
png |
JMSTask.png | 165.7 kB | 4 | 05-Dec-2023 05:32 | krivacsz | |
jpg |
amazon_amqps_url.jpg | 119.0 kB | 1 | 09-Jun-2025 05:38 | krivacsz | |
png |
amazon_amqps_url.png | 278.5 kB | 1 | 09-Jun-2025 05:41 | krivacsz | |
png |
apache_artemis.png | 86.8 kB | 1 | 09-Jun-2025 03:56 | krivacsz | |
png |
azure_amqps_shared_access_key.... | 64.8 kB | 1 | 09-Jun-2025 05:52 | krivacsz | |
png |
azure_service_bus.png | 81.5 kB | 1 | 09-Jun-2025 05:14 | krivacsz | |
png |
jms_amqp.png | 123.5 kB | 6 | 22-May-2025 01:49 | krivacsz | |
png |
jms_consumer_mode.png | 156.6 kB | 1 | 05-Dec-2023 05:32 | krivacsz | |
zip |
jms_dependency.zip | 4,510.7 kB | 1 | 05-Dec-2023 05:32 | krivacsz | Added JMS dependency jars |
png |
jms_jndi_config.png | 132.1 kB | 1 | 05-Dec-2023 05:32 | krivacsz |
«
This page (revision-190) was last changed on 09-Jun-2025 07:44 by krivacsz
G’day (anonymous guest)
Log in
JSPWiki