Jump to content

dev botao

Java: ACBRLib funciona na primeira vez que é chamado, mas derruba o Tomcat na segunda vez


DeveloperATS
Go to solution Solved by Daniel Simoes,
  • Este tópico foi criado há 377 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Bom dia;

Estamos tendo um problema para usar o ACBRLib no Linux a partir do Java:

Primeiro, ele estava dando falta da "lib-gtk", o que foi facilmente foi resolvido instalando a biblioteca em questão:

apt install libgtk2.0-0

Depois, ele começou a dar o erro "Gtk-WARNING **: cannot open display"; agimos, então, com base nos seguintes posts:

  • Com base nesses dois links, nós instalamos o framebuffer virtual e configuramos a variável de ambiente:
    Xvfb :0.0 -screen 0 1280x1024x24 -ac +extension GLX +render -noreset &
    DISPLAY=":0.0"
    export DISPLAY

     

Depois disso, a aplicação passou a funcionar na primeira vez em que ela é invocada, mas derruba o Tomcat na segunda vez em que é invocada. Alguma idéia do que possa estar causando esse problema?

hs_err_pid2568-core-dump-ACBr.log

Link to comment
Share on other sites

  • Fundadores
  • Solution

Duas instâncias concorrentes, não poderiam usar o mesmo "DISPLAY"...

Você consegue rodar essa API, em uma máquina que tenha algum Desktop instalado ?  Pode ser o XFCe, por exemplo (que é bem leve)

Se SIM, você poderia rodar a sua aplicação, sem a necessidade do Xvfb

PS: Está nos planos recentes do ACBr, criar um DANFE em PDF, sem a dependência de um Gerador de Relatórios, e com isso, criar uma biblioteca que não tenha dependências do Servidor X... mas isso é uma tarefa que deve levar alguns meses...

  • Like 1
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

Veja... usar o Xvfb não é o ideal, para uma API, que precisa carregar o serviço de forma dinâmica a cada requisição...

Se realmente quer continuar com o Xvfb, você precisaria criar um launcher, para que cada instância, use um Display diferente...

Observe minha resposta, onde sugeri uma alternativa para não usar o Xvfb

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

  • Membros Pro

Seguem anexos todos os logs. Note que, no "catalina.out", a primeira chamada é concluída com sucesso, ao passo que a segunda chamada dá "SIGSEGV". O "ACBrLibBoleto*.log" está aí, também. No caso, a única biblioteca nativa que essa API utiliza é o ACBr.

logs-api-boleto-2023-02-17-07-58.zip

Edited by DeveloperATS
Esclarecendo o que é que tem no arquivo.
Link to comment
Share on other sites

  • Fundadores

O A.V. parece estar relaciona a essa falha no GTK

Citar

Gtk-Message: 14:56:58.347: Failed to load module "canberra-gtk-module"

Procurando no Bing sobre esse erro.. achei esse Link:

https://askubuntu.com/questions/342202/failed-to-load-module-canberra-gtk-module-but-already-installed

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

×
×
  • 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.