...
The DCC mechanism is needed when you have multiple OFBiz servers in a cluster that are sharing a single database. When one entity engine has either a create, update or delete operation that goes through it, it will clear its own caches. But it can also sent out a message to the other servers in the pool to clear their caches.
...
Info | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Because of The infamous Java serialization vulnerability the RMI container has been disabled in the default configuration of OFBiz, and hence JNDI (relies on RMI in OFBiz). So if you want to use the DCC mechanism you will first need to uncomment as explained at
|
...
Code Block |
---|
<!-- JMS Service Active MQ Topic Configuration (set as default in jndi.properties, the less changes the better) --> <jms-service name="serviceMessenger" send-mode="all"> <server jndi-server-name="default" jndi-name="topicConnectionFactory" topic-queue="OFBTopic" type="topic" listen="true"/> </jms-service> |
...
I decided to use Apache ActiveMQ as JMS server and to simply set these properties in the jndi.properties files (commenting out the OOTB default):
...
- set advisorySupport="false" for the broker (except if you want to use advisory messages)
use transport.soTimeout=60000 and set enableStatusMonitor="true" for Openwire connector
Code Block <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.base}/data" destroyApplicationContextOnStop="true" advisorySupport="false"> .... <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?transport.soTimeout=60000" enableStatusMonitor="true"/>
...