properties.xml 13.2 KB
<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"  [ ]>
<appendix id="propriedades">

	<title>Atributos do demoiselle.properties</title>
	
	<para>
		Em um projeto com o <emphasis>Demoiselle Framework</emphasis>, algumas propriedades e configurações 
		do <emphasis>Framework</emphasis> podem ser ajustadas no arquivo <literal>demoiselle.properties</literal>. 
		A seguir listamos as propriedades e configurações do <emphasis>Demoiselle Framework</emphasis> que o usuário pode modificar,
		acompanhados de alguns exemplos ilustrativos.

	</para>	
	
	<para>
		<table width="100%">
			<title>Configurações do Core</title>
			<tgroup cols="3">
				<colspec align="left" colwidth="0.4*"/>
				<colspec align="left" colwidth="0.4*"/>
				<colspec align="right" colwidth="0.2*"/>
	
				<thead>
					<row valign="top">
						<entry><emphasis role="bold">Propriedade</emphasis></entry>
						<entry><emphasis role="bold">Descrição</emphasis></entry>
						<entry><emphasis role="bold">Valor padrão</emphasis></entry>
					</row>
				</thead>
				<tbody>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;security.&#8203;enabled</entry>
						<entry>
							<para>
								Habilita o mecanismo de segurança.
							</para>
						</entry>
						<entry>true</entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;security.&#8203;authenticator.&#8203;class</entry>
						<entry>
							<para>
								Define a classe que implementa a estratégia de autenticação.
							</para>
						</entry>
						<entry></entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;security.&#8203;authorizer.&#8203;class</entry>
						<entry>
							<para>
								Define a classe que implementa a estratégia de autorização.
							</para>
						</entry>
						<entry></entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;transaction.&#8203;class</entry>
						<entry>
							<para>
								Define a classe que implementa a estratégia de controle transacional.
							</para>
						</entry>
						<entry></entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;pagination.&#8203;page.&#8203;size</entry>
						<entry>
							<para>
								Define o tamanho da página padrão do mecanismo de paginação.
							</para>
						</entry>
						<entry>10</entry>
					</row>
				</tbody>
			</tgroup>
		</table>
		<table width="100%">
			<title>Configurações da extensão JSF</title>
			<tgroup cols="3">
				<colspec align="left" colwidth="0.4*"/>
				<colspec align="left" colwidth="0.4*"/>
				<colspec align="right" colwidth="0.2*"/>
				
				<thead>
					<row valign="top">
						<entry><emphasis role="bold">Propriedade</emphasis></entry>
						<entry><emphasis role="bold">Descrição</emphasis></entry>
						<entry><emphasis role="bold">Valor padrão</emphasis></entry>
					</row>
				</thead>
				<tbody>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;security.&#8203;login.&#8203;page</entry>
						<entry>
							<para>
								Define a página de login da aplicação.
							</para>
						</entry>
						<entry>"/login"</entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;security.&#8203;redirect.&#8203;after.&#8203;login</entry>
						<entry>
							<para>
								Define a tela para qual o usuário será redirecionado após o processo de <emphasis>login</emphasis> bem sucedido.
							</para>
						</entry>
						<entry>"/index"</entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;security.&#8203;redirect.&#8203;after.&#8203;logout</entry>
						<entry>
							<para>
								Define a tela para qual o usuário será redirecionado após o processo de <emphasis>logout</emphasis> bem sucedido.
							</para>
						</entry>
						<entry>"/login"</entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;security.&#8203;redirect.&#8203;enabled</entry>
						<entry>
							<para>
								Habilita os redirecionamentos relacionados aos processos de login e logout.
							</para>
						</entry>
						<entry>true</entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;exception.&#8203;application.&#8203;handle</entry>
						<entry>
							<para>
								Habilita o tratamento automático das exceções da aplicação anotadas com @ApplicationException.
							</para>
						</entry>
						<entry>true</entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;exception.&#8203;default.&#8203;redirect.&#8203;page</entry>
						<entry>
							<para>
								Define o redirecionamento das exceções da aplicação anotadas com @ApplicationException ocorridas
								durante a fase de renderização da página (PhaseId.RENDER_RESPONSE).
							</para>
						</entry>
						<entry>"/application_error"</entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;pagination.&#8203;max.&#8203;page.&#8203;links</entry>
						<entry>
							<para>
								Configura a quantidade de links que será exibido em uma página.
							</para>
						</entry>
						<entry>5</entry>
					</row>
				</tbody>
			</tgroup>
		</table>
		<table width="100%">
			<title>Configurações da extensão JDBC</title>
			<tgroup cols="3">
				<colspec align="left" colwidth="0.4*"/>
				<colspec align="left" colwidth="0.4*"/>
				<colspec align="right" colwidth="0.2*"/>
	
				<thead>
					<row valign="top">
						<entry><emphasis role="bold">Propriedade</emphasis></entry>
						<entry><emphasis role="bold">Descrição</emphasis></entry>
						<entry><emphasis role="bold">Valor padrão</emphasis></entry>
					</row>
				</thead>
				<tbody>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;persistence.&#8203;jndi.&#8203;name</entry>
						<entry>
							<para>
								Define o nome JNDI onde o DataSource está disponível.
							</para>
						</entry>
						<entry></entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;persistence.&#8203;driver.&#8203;class</entry>
						<entry>
							<para>
								Define a classe que implementa o Driver de conexão com a base de dados.
							</para>
						</entry>
						<entry></entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;persistence.&#8203;url</entry>
						<entry>
							<para>
								Define a URL de conexão com a base de dados.
							</para>
						</entry>
						<entry></entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;persistence.&#8203;username</entry>
						<entry>
							<para>
								Define o username para estabelecer a conexão com a base de dados.
							</para>
						</entry>
						<entry></entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;persistence.&#8203;password</entry>
						<entry>
							<para>
								Define o password para estabelecer a conexão com a base de dados.
							</para>
						</entry>
						<entry></entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;persistence.&#8203;default.&#8203;datasource.&#8203;name</entry>
						<entry>
							<para>
								Define a configuração de banco de dados padrão para aplicações que possuem mais
								de um datasource configurado.
							</para>
						</entry>
						<entry></entry>
					</row>
				</tbody>
			</tgroup>
		</table>
		<table width="100%">
			<title>Configurações da extensão JPA</title>
			<tgroup cols="3">
				<colspec align="left" colwidth="0.4*"/>
				<colspec align="left" colwidth="0.4*"/>
				<colspec align="right" colwidth="0.2*"/>
	
				<thead>
					<row valign="top">
						<entry><emphasis role="bold">Propriedade</emphasis></entry>
						<entry><emphasis role="bold">Descrição</emphasis></entry>
						<entry><emphasis role="bold">Valor padrão</emphasis></entry>
					</row>
				</thead>
				<tbody>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;persistence.&#8203;default.&#8203;unit.&#8203;name</entry>
						<entry>
							<para>
								Define o nome da unidade de persistência padrão (configurada em <code>persistence.xml</code>) que será injetada
								caso a anotação <code>@Name</code> não seja usada. Não é necessário se apenas uma unidade de persistência for configurada.
							</para>
						</entry>
						<entry></entry>
					</row>
					
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;persistence.&#8203;entitymanager.&#8203;scope</entry>
						<entry>
							<para>
								Permite determinar o escopo de unidades de persistência injetadas. Dentro do escopo determinado, todos os pontos
								de injeção receberão a mesma instância de <code>EntityManager</code>.
							</para>
							<para>
								Os valores possíveis são:
								<simplelist type="inline">
									<member>request</member>
									<member>session</member>
									<member>view</member>
									<member>conversation</member>
									<member>application</member>
									<member>noscope</member>
								</simplelist>
							</para>
						</entry>
						<entry>request</entry>
					</row>
				</tbody>
			</tgroup>
		</table>
		<table width="100%">
			<title>Configurações da extensão JMX</title>
			<tgroup cols="3">
				<colspec align="left" colwidth="0.4*"/>
				<colspec align="left" colwidth="0.4*"/>
				<colspec align="right" colwidth="0.2*"/>
	
				<thead>
					<row valign="top">
						<entry><emphasis role="bold">Propriedade</emphasis></entry>
						<entry><emphasis role="bold">Descrição</emphasis></entry>
						<entry><emphasis role="bold">Valor padrão</emphasis></entry>
					</row>
				</thead>
				<tbody>
					<row valign="top">
						<entry role="">frameworkdemoiselle.&#8203;management.&#8203;mbean.&#8203;domain</entry>
						<entry>
							<para>Define o domínio padrão onde classes anotadas com <emphasis>@ManagementController</emphasis> serão registradas no MBeanServer.</para>
							<para>Na especificação JMX, um MBean é registrado no MBeanServer com um nome no formato <emphasis>domain:name=MBeanName</emphasis>
							(ex: <emphasis>br.&#8203;gov.&#8203;frameworkdemoiselle:&#8203;name=NotificationBroadcaster</emphasis>). Esse parâmetro controla a porção <emphasis>domain</emphasis>
							desse formato.</para>
						</entry>
						<entry>O pacote da classe anotada com <emphasis>@Management&#8203;Controller</emphasis></entry>
					</row>
					<row valign="top">
						<entry colsep="1">frameworkdemoiselle.&#8203;management.&#8203;notification.&#8203;domain</entry>
						<entry colsep="1">
							<para>O mesmo que <emphasis>frameworkdemoiselle.&#8203;management.&#8203;mbean.&#8203;domain</emphasis>, mas apenas para o domínio do
							MBean <emphasis role="bold">br.&#8203;gov.&#8203;frameworkdemoiselle.&#8203;internal.&#8203;NotificationBroadcaster</emphasis>. Esse MBean é automaticamente
							registrado para receber notificações enviadas usando a classe <emphasis role="bold">br.&#8203;gov.&#8203;frameworkdemoiselle.&#8203;management.&#8203;NotificationManager</emphasis></para>
						</entry>
						<entry>br.&#8203;gov.&#8203;frameworkdemoiselle.&#8203;jmx</entry>
					</row>
					<row valign="top">
						<entry>frameworkdemoiselle.&#8203;management.&#8203;notification.&#8203;name</entry>
						<entry>
							<para>O nome usado para registrar a classe <emphasis role="bold">br.&#8203;gov.&#8203;frameworkdemoiselle.&#8203;internal.&#8203;NotificationBroadcaster</emphasis> como MBean.</para>
						</entry>
						<entry>Notification&#8203;Broadcaster</entry>
					</row>
				</tbody>
			</tgroup>
		</table>
	</para>
	
	<!-- <section>
		<title>Escolhendo Estratégias</title>
		<para>
			Para escolher as estratégias de <emphasis>Transação</emphasis>, <emphasis>Autorização</emphasis> e <emphasis>Autenticação</emphasis>
			devem ser configuradas as propriedades: <literal>frameworkdemoiselle.transaction.class</literal>, 
			<literal>frameworkdemoiselle.security.authorizer.class</literal> e <literal>frameworkdemoiselle.security.authenticator.class</literal>
			, respectivamente.
		</para>
		<para>
			Para utilizar as estratégias fornecidas pelo próprio <emphasis>Framework Demoiselle</emphasis>, você deve configurar essas 
			propriedades da seguinte forma:
			<itemizedlist>
				<listitem>
					<para>
						<literal>frameworkdemoiselle.transaction.class=br.gov.frameworkdemoiselle.transaction.JPATransaction</literal>, 
						para transações <emphasis>JPA</emphasis>, e <literal>frameworkdemoiselle.transaction.class=
						br.gov.frameworkdemoiselle.transaction.JTATransaction</literal>, para transações <emphasis>JTA</emphasis>;
					</para>
				</listitem>
				<listitem>
					<para>
						<literal>frameworkdemoiselle.security.authorizer.class=br.gov.serpro.inscricao.security.Autorizador</literal>;
					</para>
				</listitem>
				<listitem>
					<para>
						<literal>frameworkdemoiselle.security.authenticator.class=br.gov.serpro.inscricao.security.Autenticador</literal>.
					</para>
				</listitem>
			</itemizedlist>
		As instruções para você construir e utilizar sua própria estratégia estãodescritas nos capítulos <link linkend="transacao">Transação</link> 
		e <link linkend="security">Segurança</link>.
		</para>
	</section> -->
</appendix>