At line 4 changed one line |
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|jms_dependency.zip]\\ |
---- |
__⚠️ 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|jms_dependency.zip]\\ |
• 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\\ |
At line 6 removed 2 lines |
!!1. Solace JMS AMQPS Integration\\ |
\\ |
At line 10 changed one line |
Get the __AMQPS URL__, __Username__, and __Password__ for JMSTask's __JNDI configuration__ from the __Solace Broker Management__.\\ |
Get the __AMQPS URL__, __username__, and __password__ from your Solace broker for use in the JMSTask JNDI configuration.\\ |
At line 18 added 2 lines |
---- |
!!2. Apache ActiveMQ Artemis and Amazon MQ Integration \\ |
At line 14 changed one line |
!!2. JMSTask configuration:\\ |
!2.1 Apache ActiveMQ Artemis\\ |
\\ |
More info: [ActiveMQ Artemis Documentation Link|https://activemq.apache.org/components/artemis/documentation/]\\ |
__⚠️ Important__: To connect JMSTask to __Apache ActiveMQ Artemis__ over __AMQPS__, ensure your Artemis broker is configured to accept secure __AMQP__ connections.\\ |
\\ |
[JMS (Java Message Service)/apache_artemis.png]\\ |
\\__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|https://aws.amazon.com/amazon-mq/] More info: [Amazon MQ – Managed Message Broker Service for ActiveMQ Link| https://aws.amazon.com/blogs/aws/amazon-mq-managed-message-broker-service-for-activemq/]\\ |
\\ |
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.\\ |
\\ |
[JMS (Java Message Service)/amazon_amqps_url.png]\\ |
{{{ |
amqps://<broker-id>.mq.<region>.amazonaws.com:5671 |
}}} |
---- |
!!3 Azure Service Bus Integration:\\ |
\\ |
[Azure Service Bus Link|https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview]\\ |
[AMQP 1.0 in Azure Service Bus and Event Hubs protocol guide Link|https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-amqp-overview]\\ |
[JMS (Java Message Service)/azure_service_bus.png]\\ |
\\ |
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\\ |
\\ |
[JMS (Java Message Service)/azure_amqps_shared_access_key.png]\\ |
\\ |
{{{ |
amqps://<namespace>.servicebus.windows.net:5671 |
username = <SAS-key-name> |
password = <SAS-key> |
}}}\\ |
\\ |
---- |
!!4. JMSTask configuration:\\ |
At line 16 changed one line |
!2.1 JNDI config: Variable replacement is supported.\\ |
!4.1 JNDI config: Variable replacement is supported.\\ |
At line 24 changed one line |
# Context Factory |
# Context Factory (Do not change!) |
At line 38 changed 2 lines |
__java.naming.factory.initial=org.apache.qpid.jms.jndi.JmsInitialContextFactory:__ This tells the application which type of messaging system it is connecting to.\\ |
__connectionfactory.qpidConnectionfactory=amqps://mr-connection-XXXXd:56XX__: 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.\\ |
__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.\\ |
At line 110 added one line |
\\ |
At line 113 added 2 lines |
---- |
!4.2 Producer Mode:\\ |
At line 44 removed 2 lines |
!2.2 Producer Mode:\\ |
\\ |
At line 50 changed one line |
__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.\\ |
__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.\\ |
At line 60 changed one line |
__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. 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:\\ |
At line 62 removed 2 lines |
!2.3 Consumer Mode:\\ |
\\ |
At line 67 changed one line |
__1. Destination name__: Name of the __Topic__ or __Queue__ configured on __JNDI config__. Variable replacement is supported ([CrushTaskVariables]).\\ |
__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.\\ |
At line 69 changed one line |
__2. Message settings__: Limit the number of messages, and control the read timeout of message reading.\\ |
__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.\\ |
At line 71 changed one line |
__3. Store settings__: It saves the message (less than 10MB) as a file to the given location. Provide the file name and make it unique to avoid overwriting. Variable replacement is supported.\\ |
__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.\\ |