Hippo JMS Bridge
The Hippo JMS Bridge is an optional component, mostly needed when deploying on J2EE Application Containers.
It provides a partial implementation of the JMS specification, in the sense that it does notactually transport the messages, but bridges them to another JMSprovider. This allows the JMS Bridge to resolve certain issues with a particular JMS usage or implementation, such as transparent reconnection.
Configuration
Configuration takes place using the following parameters:
| Parameter | Alternative |
|---|---|
| nl.hippo.jmsbridge.secondary | java.naming.factory.secondary |
| nl.hippo.jmsbridge.bindings | java.naming.factory.bindings |
| nl.hippo.jmsbridge.options | java.naming.factory.options |
In many cases, only the java.naming.* parameters are copied into the environment. Therefore even though the names nl.hippo.jmsbridge.* are more correct, the use of java.naming.factory namespace is often needed.
nl.hippo.jmsbridge.secondary
The value specifies the initial context to use as the underlying JMSProvider.
It's basically what you'd normally assign to the parameter java.naming.factory.initial.
When not set, empty or assigned the value "-", the containers default is used.
nl.hippo.jmsbridge.bindings
This parameter lists the JNDI or reference names thereof that need to be passed to the secondary provider.
If not set, the entire environment is passed. This is similar to enumerating all the JNDI names, but not identical, since a new map is passed. This should not make a difference.
nl.hippo.jmsbridge.options
This passes a number of options to the JMS bridge, as white space delimited key=value pairs.
asynchronous-operations
- save-mode (default)
Try to use asynchronous operations, but catch any errors, having no asynchronous message receival, but a working connection otherwise.
- emulate
Do not use asynchronous operations such as setMessageListener, but emulate the use through an active listener thread. (This is what you'll need to get most hippo software to work).
- true (container-mode)
Disallow the use of asynchronous operations, as a container would, even if the underlying JMS service allows it.
- false (standalone-mode)
Use asynchronous operations if available, transparently maps to the underlying JMS service.
naming
- prefix (default)
Indicates the bindings are the reference names, which need to be translated first.
- as-is
Indicates the bindings are JNDI names.
reconnect-delay
- [0-9]+
The delay in milliseconds (default: 5000) for each stage in the reconnect phase.
Initially only an attempt to reconnect the session will be made, if that fails, it will try to reconnect the connection.
This implies a total failure will actually take triple the configured delay.