Para a sincronização funcionar corretamente, a mesma possui as seguintes configuções:
1.1. SyncConf.xml
Existem diversas parametrizações que podem ser realizadas no serviço de sincronização. O principal arquivo de configuração da sincronização é o SyncConf.xml, que pode ser encontrado em /ws/sincronizacao/versao. Abaixo iremos entrar em detalhes sobre cada um dos parâmetros desse arquivo e quais suas funções.
listenerPort : Este parâmetro é responsável por definir a porta que o serviço de sincronização receberá as conexões do aplicativo. Por padrão utilizamos os valores no intervalo 40920 e 40925.
maxConcurrentConnections: Aqui definimos a quantidade de conexões simultâneas possíveis do serviço de sincronização. Ou seja, caso o limite seja atingido, novos usuários realizando conexão verão uma mensagem no aplicativo solicitando que aguardem para iniciar a sincronização. Este parâmetro pode ser alterado conforme necessidade, lembrando que o serviço pode precisar de mais memória alocada para suportar mais conexões.
requireSSL: Define se a sincronização utilizará o protocolo SSL.
keyStoreSSL: Este parâmetro recebe o caminho onde está o arquivo chave SSL.
keyStorePasswordSSL: Aqui é configurada a senha do arquivo chave SSL.
bufferSize: Esse parâmetro não é mais utilizado na sincronização.
sendBufferSize: Define o tamanho do pacote de dados que será enviado ao aplicativo durante a sincronização. Este parâmetro possui como limite 1 MB, no entanto, ele deverá ser escrito em KB.
recvBufferSize: Aqui definimos o tamanho do pacote de dados que o aplicativo irá enviar ao servidor durante a sincronização. Este parâmetro possui como limite 1 MB, no entanto, ele deverá ser escrito em KB.
limitTimeoutSocket: Tempo máximo (em milissegundos) permitido para uma conexão de sincronização. Se o tempo for excedido — por exemplo, em casos de lentidão de rede — a conexão é encerrada e o aplicativo exibe uma mensagem de timeout.
syncDirectory: Este parâmetro recebe o diretório raiz da sincronização.
limitGarbageCollect: Aqui definimos em milissegundos o tempo que será utilizado para o Garbage Collector do Java, responsável por liberar memória de objetos não utilizados.
jmxManagerPort: Porta utilizada pelo Java para gerenciar o serviço de sincronização.
syncAnteriorLibDirectory: Neste parâmetro é definido o diretório de lib de uma versão antiga da sincronização, utilizado no momento de uma liberação de versão.
wifiUpdateLimitDate: Define a data inicial a partir da qual os usuários podem receber atualizações de versão do aplicativo.
enableUpdateForNewDevices: Indica se novos dispositivos poderão receber atualização de versão ao realizar a primeira sincronização.
developerLogs: Parâmetro que define se serão gerados logs técnicos e detalhados do serviço de sincronização.