Jump to content

Dois Monitores rodando juntos


  • Este tópico foi criado há 2384 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Posso manter no computador dois AcbrMonitor rodando ao mesmo tempo?

Gostaria de enviar os Comandos do SAT para o AbrMonitorPlus e os comandos da NFe no AcbrNfMonitor 2.0.9.03.1 - capicom.

Tentei isto, o CFe sai normalmente, mas ao enviar a NFe está dando erro INVALID ARGUMENT

Ao tirar do ar o PLUS roda a NFe normalmente...

Link to comment
Share on other sites

O projeto NFe já ém bem antigo, teria que fazer alguns ajustes para funcionar. Na verdade queria mexer o mínimo possível para evitar "surpresas" em código legado...

A grande verdade é que estou com o prazo estourado com cliente ligando precisando colocar o SAT em produção pra ontem.

Mas se os 2 entrarem em conflito não vou ter opção... Você não recomenda os 2 rodando juntos?

Link to comment
Share on other sites

  • Fundadores

Para rodar ambos os monitores é importante configurar arquivos de entrada e saída diferentes para TXT ou portas diferentes para TCP

sobre o NFe referenciada ao SAT, veja esse link

www.spedbrasil.net/m/discussion?id=2159846%3ATopic%3A852332

Edited by Daniel Simoes
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

  • 5 months later...

Um exemplo de situação:

Temos em cliente a seguinte configuração 1 micro centralizado com 2 ACBrs, 1 era para NFe e outro para Demais funcionalidades e por exemplo se este micro estivesse processando comandos de Boleto não afetava outro micro emitir NFe pois era Monitores diferentes monitorando pastas diferentes...

No caso agora do PLUS qual a orientação haja visto q é 1 um monitor q integra as funcionalidades dos 2 antigos, como fica esta questão q antes trabalhava separadamente?

Pergunto pelo fato q 1 maquina pode estar gerando boletos e outra quer gerar NFe e é 1 pasta monitorada para 2 maquinas distintas enviando e solicitando resposta, penso q pode ocorrer talvez algum problema, tipo 1 micro solicitou o comando para Boleto e o MonitorPLUS gerou a resposta, porém outra maquina quer trabalhar com NFe e le a reposta do outro, não entendi muito bem como posso fazer nessa situação, tem algo q possa ser orientado a nível de instalação do PLUs ou dica? Fora isto a forma q pensei seria criar tipo um controle de semáforo, exemplo Micro 01 chegou primeiro e depois Micro02 mandou requisição, enquanto o micro 01 não ler a resposta não libera micro 02 mas pode gerar outros problemas tipo loop etc...

Link to comment
Share on other sites

  • Fundadores

Geralmente o ACBrMonitor é instalado de forma Local, em cada máquina...

Se você tem situações de "concorrência", é melhor continuar mantendo 2 ACBrMonitores

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

Vocês estão falando em integração por troca de arquivo txt (EntSai)

E se for por TCP/IP? O componente não controla comunicação simultânea?

Tenho pensado em melhorar o ambiente do cliente e disponibilizar os recursos do componente com outras maquinas na rede. Acho que o melhor ambiente seria instalação única, até porque o Certificado Digital geralmente está instalado na mesma maquina onde está o Acbr.

Me desculpem se estou falando besteira.

Link to comment
Share on other sites

  • Fundadores

SIM, e porque não seria ??  Você não está conseguindo executar 2 Monitores na mesma máquina ?

25 minutos atrás, Mauricio Bragaia disse:

Vocês estão falando em integração por troca de arquivo txt (EntSai)

E se for por TCP/IP? O componente não controla comunicação simultânea?

Tenho pensado em melhorar o ambiente do cliente e disponibilizar os recursos do componente com outras maquinas na rede. Acho que o melhor ambiente seria instalação única, até porque o Certificado Digital geralmente está instalado na mesma maquina onde está o Acbr.

Me desculpem se estou falando besteira.

Sim, cada conexão é uma nova thread... mas o Programa não foi escrito para permitir que diferentes Threads façam uso dos mesmos componentes simultaneamente (ThreadSafe)

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

  • Fundadores

Não se trata disso... Uma reforma estrutural seria necessária, para deixar a aplicação ThreadSafe...

Não é criada uma nova instância dos componentes do ACBr a cada Thread...

Embora toda a execução de cada conexão ocorra dentro de uma chamada com Synchonize, o que causa o efeito de criar uma nova entrada no CallStack (Pilha)... é possível que as informações de uma thread, contaminem a outra... 

Imagine o exemplo: duas Threads chamam o mesmo método: NFE.StatusServico... da maneira que está implementado (Synchonize), a última chamada irá congelar a primeira chamada,  e ficará acima da pilha, após a ultima chamada ser executada por completo, a pilha retornará para a primeira chamada... mas nesse momento, as Propriedades do Componente ACBrNFe, foram alteradas pela execução da segunda chamada.. e o retorno da Primeira chamada poderá conter dados inválidos...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

  • Este tópico foi criado há 2384 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.