Commit fea008995e924308685a3b01f51392ffa1a754c5
Exists in
master
Merge remote-tracking branch 'origin/2.4.0' into 2.4.0
Showing
4 changed files
with
85 additions
and
6 deletions
Show diff stats
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" /> | ... | ... |
... | ... | @@ -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(); | ... | ... |