Risolvere org.omg.omg.CORBA.NO_RESOURCES eccezione su JBoss

Problema

Dopo molte conversioni di PDF Generator su JBoss, le conversioni falliscono a intermittenza con un'eccezione. Questo inizialmente si traduce in guasti intermittenti, ma senza un riavvio del server, può causare il fallimento di tutte le operazioni. Il messaggio di errore visto nei log è il seguente:

org.omg.CORBA.NO_RESOURCES: (Pool)[0/1000] no idle threads but maximum number of threads reached (1000) vmcid: 0x0 minor code: 0 completed: No

Motivo

Il problema è causato da jacORB (l'ORB in bundle con JBoss) che mantiene un thread in attesa di connettersi ad un peer che non è più disponibile. Il ripetersi di questa situazione fa sì che i thread rimangano inutilmente occupati, causando l'esaurimento del thread pool.

Risoluzione

Red Hat fornisce la patch JBPAPP-10887 per risolvere il problema su JBoss EAP 5.2

I dettagli della patch sono i seguenti:

  • La patch è specifica di JBoss EAP 5.2. JBoss EAP 5.2 è stato aggiunto alle piattaforme supportate per LiveCycle ES4 Service pack 1 (SP1). Pertanto, esegui l'aggiornamento a LiveCycle ES4 SP1 con JBoss EAP 5.2.
    Per ulteriori informazioni sul service pack, vedi Cosa c'è di nuovo in LiveCycle ES4 SP1.
  • Dopo aver installato la patch, aggiungi una proprietà a server/<servername>/conf/jacorb.properties: 'jacorb.connection.client.eager_close' con il suo valore impostato su vero.
    Ad esempio: jacorb connection client.eager_close=true
  • La correzione non è disponibile per le versioni precedenti di JBoss EAP.
    Contatta il supporto di Red Hat per far tornare la patch ai rami precedenti di JBoss EAP o per chiedere informazioni sulle versioni future di JBoss EAP che potrebbero includere questa patch. La soluzione è riavviare il server quando le conversioni iniziano a fallire a intermittenza con il seguente errore:
    org.omg.CORBA.NO_RESOURCES: (Pool)[0/1000] no idle threads but maximum number of threads reached (1000) vmcido : 0x0 codice minore: 0 completato: No

È possibile ottenere la patch direttamente dal supporto di Red Hat e applicarla come raccomandato. Se non si dispone di un contratto di supporto con Red Hat, è possibile contattare Adobe Enterprise Support per ottenere la patch.

 Adobe

Ottieni supporto in modo più facile e veloce

Nuovo utente?