Package br.com.intersys.systextil.print
Class DBEjb
java.lang.Object
br.com.intersys.systextil.print.DBEjb
Disponibiliza uma conexão para uso em uma transação separada.
Tenta obter um EJB específico para isso no contexto atual. Se não conseguir, Tenta obter uma nova conexão por JNDI no contexto atual. Se ainda não conseguir, lança erro.
Esta classe foi criada para isolar as classes de EJB do classloader para uso pelas classes de impressão. Agora pode ser usada por qualquer processo que precise executar algo em uma transação separada no contexto atual.
Este é um uso típico:
String sql = "insert something..."; DBEjb.use(c -> { try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, param); ... ps.executeUpdate(); } });
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
Disponibiliza uma conexão para uso imediato em uma transação separada.static interface
Disponibiliza uma conexão para uso imediato em uma transação separada, retornando algum resultado. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <V> V
get
(DBEjb.ConnectionFunction<V> conn) Executa imediatamente uma função em uma transação separada.static void
use
(DBEjb.ConnectionConsumer conn) Executa alguma coisa imediatamente em uma transação separada.
-
Constructor Details
-
DBEjb
public DBEjb()
-
-
Method Details
-
use
Executa alguma coisa imediatamente em uma transação separada.Ao retornar, a transação terá sido "comitada".
- Parameters:
conn
- a função a executar
-
get
Executa imediatamente uma função em uma transação separada.Ao retornar, a transação terá sido "comitada".
- Type Parameters:
V
- o tipo do retorno- Parameters:
conn
- a função que vai usar a conexão- Returns:
- o retorno da função
-