Ir para conteúdo
  • Cadastre-se

dev botao

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


Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 650 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

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

  • Fundadores
  • Solution
Postado

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

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

  • Fundadores
Postado

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.

  • Membros Pro
Postado

Boa tarde; tudo bem?

Acabei de realizar os testes com o Ubuntu Desktop 22 e ocorre exatamente o comportamento: na primeira vez que chama a API funciona normal, mas na segunda vez, o Tomcat cai.

  • Membros Pro
Postado (editado)

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

Editado por DeveloperATS
Esclarecendo o que é que tem no arquivo.
  • Fundadores
Postado

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.

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...