Understanding Method/Data Directives across multiple appservers



I am trying to understand how Method/Data Directives that are created/updated on one appserver also trigger on other appservers.
I tried asking Epicor support but it was difficult to get them to understand what it is I’m talking about.

I found a KB article that talks about either using DFS or pointing all appservers to the same shared folder location but that seems to be only if the customizationStorage, in web.config, is set to FileSystem but ours is set to SqlBlob.

I guess that means that the appservers pull directives from the database directly.
If I understand this correctly, how does appserver 2 know that a directive was created/updated from appserver 1? Is it frequently checking to see if there is a new version?

Is there a technical document that explains this in more detail?

Thank you.

It is documented in the Architecture Guide. Look under the Multiple Application Server Section.


I’m fairly certain it is the same in K2021 as 10.2.600

1 Like

Perfect. Thank you Mark!

When BPM designer saves updated directives, the BPM server stuff raises a notification event.
Such events are cross-host (does not matter if you have a few app pools on same server or a few servers).
Starting 10.1.700, the default storage for BPM DLLs is DB. Since all hosts use the same DB, they can read updated DLL.
So, when BPM runtime on remote host receives update notification, it resets its cache and realoads BPM DLLs on the next call.

1 Like