Commit fea008995e924308685a3b01f51392ffa1a754c5

Authored by Dancovich
2 parents 57c32e96 b32c6951
Exists in master

Merge remote-tracking branch 'origin/2.4.0' into 2.4.0

documentation/reference/pt-BR/master.xml
... ... @@ -27,6 +27,7 @@
27 27 <xi:include href="parentsPom.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
28 28 <xi:include href="arquetipo.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
29 29 <xi:include href="controlador.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
  30 + <xi:include href="persistencia.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
30 31 <xi:include href="transacao.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
31 32 <xi:include href="excecao.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
32 33 <xi:include href="configuracao.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
... ...
documentation/reference/pt-BR/persistencia.xml 0 → 100644
... ... @@ -0,0 +1,76 @@
  1 +<?xml version='1.0' encoding="utf-8"?>
  2 +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  3 + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" []>
  4 +<chapter id="persistencia">
  5 +
  6 + <title>Persistência</title>
  7 +
  8 + <section>
  9 + <title>JDBC</title>
  10 + <para>
  11 + A persistência de dados usando JDBC, está disponível na extensão <literal>demoiselle-jdbc</literal>,
  12 + que provê uma fábrica de <literal>Connection</literal>. Para utilizá-la basta incluir a dependência para extensão JDBC
  13 + no arquivo pom.xml.
  14 + </para>
  15 + <programlisting role="XML"><![CDATA[<dependency>
  16 + <groupId>br.gov.frameworkdemoiselle</groupId>
  17 + <artifactId>demoiselle-jdbc</artifactId>
  18 + <scope>compile</scope>
  19 +</dependency>]]>
  20 + </programlisting>
  21 +
  22 + <para>
  23 + Para obter uma instância de uma conexão, basta injetá-la na classe:
  24 + </para>
  25 + <programlisting role="JAVA"><![CDATA[@Inject
  26 +private Connection conn;]]></programlisting>
  27 + <para>
  28 + A conexão será criada pela fábrica do Demoiselle de acordo com as configurações no arquivo de propriedade (<emphasis>demoiselle.properties</emphasis>).
  29 + </para>
  30 + <para>
  31 + Você pode configurar as propriedades da conexão:
  32 + </para>
  33 + <programlisting>frameworkdemoiselle.persistence.driver.class=MeuDriver
  34 +frameworkdemoiselle.persistence.url=MinhaUrl
  35 +frameworkdemoiselle.persistence.username=MeuUsername
  36 +frameworkdemoiselle.persistence.password=MeuPassword</programlisting>
  37 + <para>
  38 + ou indicar o JNDI do datasource:
  39 + </para>
  40 + <programlisting>frameworkdemoiselle.persistence.jndi.name=MeuJndiName</programlisting>
  41 +
  42 + <para>
  43 + Caso você necessite usar conexões com datasources diferentes, você pode usar a anotoção
  44 + <literal>@Name</literal> passando como valor o nome da conexão definida no arquivo
  45 + <literal>demoiselle.properties</literal>
  46 + </para>
  47 +
  48 + <para>
  49 + No <literal>demoiselle.properties</literal> basta adicionar um nome qualquer para identificar a conexão:
  50 + </para>
  51 + <programlisting>frameworkdemoiselle.persistence.conn1.jndi.name=MeuJndiName1
  52 +frameworkdemoiselle.persistence.conn2.jndi.name=MeuJndiName2</programlisting>
  53 +
  54 + <para>
  55 + Injetar o <literal>Connection</literal> usando <literal>@Name</literal> com o nome da conexão escolhida:
  56 + </para>
  57 +
  58 + <programlisting role="JAVA"><![CDATA[@Inject
  59 +@Name("conn1")
  60 +private Connection conn1;
  61 +
  62 +@Inject
  63 +@Name("conn2")
  64 +private Connection conn2;
  65 +]]></programlisting>
  66 +
  67 +
  68 + <para>
  69 + Caso possua mais de uma configuração de datasource você pode definir uma configuração padrão
  70 + para sua aplicação.
  71 + </para>
  72 + <programlisting>frameworkdemoiselle.persistence.default.unit.name=conn1</programlisting>
  73 +
  74 + </section>
  75 +
  76 +</chapter>
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/configuration/Configuration.java
... ... @@ -45,6 +45,7 @@ import java.lang.annotation.Target;
45 45  
46 46 import javax.enterprise.inject.Stereotype;
47 47 import javax.enterprise.util.Nonbinding;
  48 +import javax.inject.Named;
48 49  
49 50 import br.gov.frameworkdemoiselle.annotation.StaticScoped;
50 51  
... ... @@ -63,6 +64,7 @@ import br.gov.frameworkdemoiselle.annotation.StaticScoped;
63 64 *
64 65 * @author SERPRO
65 66 */
  67 +@Named
66 68 @Inherited
67 69 @Stereotype
68 70 @StaticScoped
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/MessageContextImpl.java
... ... @@ -40,8 +40,6 @@ import java.io.Serializable;
40 40 import java.util.ArrayList;
41 41 import java.util.List;
42 42  
43   -import javax.enterprise.context.RequestScoped;
44   -
45 43 import org.slf4j.Logger;
46 44  
47 45 import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer;
... ... @@ -59,16 +57,16 @@ import br.gov.frameworkdemoiselle.util.ResourceBundle;
59 57 *
60 58 * @see MessageContext
61 59 */
62   -@RequestScoped
63 60 public class MessageContextImpl implements Serializable, MessageContext {
64 61  
65 62 private static final long serialVersionUID = 1L;
66 63  
67   - private final List<Message> messages = new ArrayList<Message>();
  64 + @Deprecated
  65 + private transient final List<Message> messages = new ArrayList<Message>();
68 66  
69   - private static ResourceBundle bundle;
  67 + private transient static ResourceBundle bundle;
70 68  
71   - private static Logger logger;
  69 + private transient static Logger logger;
72 70  
73 71 @Override
74 72 public void add(final Message message, Object... params) {
... ... @@ -101,11 +99,13 @@ public class MessageContextImpl implements Serializable, MessageContext {
101 99 }
102 100  
103 101 @Override
  102 + @Deprecated
104 103 public List<Message> getMessages() {
105 104 return messages;
106 105 }
107 106  
108 107 @Override
  108 + @Deprecated
109 109 public void clear() {
110 110 getLogger().debug(getBundle().getString("cleaning-message-context"));
111 111 messages.clear();
... ...