WebLogic è principalmente un contenitore di applicazioni web. In quanto tale, qualsiasi cosa che richiede minuti (più di qualche secondo) per elaborare sarà sospetta. Le discussioni contrassegnate come bloccate indicano che qualcosa potrebbe essere sbagliato. Se si finisce con troppi thread bloccati, è probabile che il server entri in uno stato molto negativo. A parte la modifica dei tempi o l'esecuzione in un pool di thread non gestito (da WebLogic), c'è poco che non si possa impedire che un thread di lunga durata rimanga bloccato. L'utilizzo del proprio pool di thread può causare problemi di prestazioni significativi.
Se i processi richiedono molto tempo, è possibile utilizzare JMS o altri sistemi di accodamento per elaborarli. Ciò consentirà di limitare il numero di processi simultanei che eseguono questo processo lento. La coda può essere elaborata su una JVM separata con tempi di thread bloccati opportunamente modificati.
Se le query possono essere eseguite in parallelo, potrebbe essere possibile mettere in coda più elementi JMS. Questi sarebbero meno probabilità di funzionare abbastanza a lungo da apparire bloccati.
Come progettato, il thread verrà bloccato come bloccato. Questo non è necessariamente un problema a meno che non si generino troppi thread di questo tipo, o non vengano mai completati. È probabilmente utile esaminare altre opzioni piuttosto che un contenitore per eseguire il processo