Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

Capítulo 3. Novos Recursos e Aprimoramentos

3.1. Segurança e o Elytron

Elytron e o subsistema elytron

O subsistema elytron, que é baseado no projeto WildFly Elytron, é uma novidade no JBoss EAP 7.1. O Elytron é uma estrutura de segurança usada para unificar a segurança em todo o servidor de aplicativos. O subsistema elytron fornece um ponto único de configuração para os aplicativos e as interfaces de gerenciamento. Ele fornece um conjunto de APIs e SPIs para a criação de implementações personalizadas de funcionalidade e integração. Para ver mais detalhes sobre os vários componentes do Elytron, consulte a seção Conceitos e componentes principais do guia Arquitetura de segurança.

O subsistema herdado security e a autenticação de gerenciamento principal herdada ainda estão presentes no JBoss EAP 7.1 e são usados por padrão. Você pode encontrar informações sobre a configuração do subsistema elytron na seção Subsistema Elytron de Como configurar a segurança do servidor.

Os recursos importantes do subsistema elytron incluem:

  • Mecanismos de autenticação mais robustos para autenticação HTTP e SASL.
  • Uma arquitetura aprimorada que permite identidades de segurança sejam propagadas por domínios de segurança e transformadas de forma transparente para que estejam prontas para uso de autorização. A transformação ocorre com o uso de decodificadores de função configuráveis, mapeadores de função e mapeadores de permissão.
  • Um ponto centralizado para configuração SSL/TLS, incluindo protocolos e pacotes de codificação.
  • Otimizações SSL/TLS como a construção de identidade segura adiantada e a autorização restritiva para estabelecer uma conexão SSL/TLS. Isso permite que as verificações de permissão aconteçam antes do recebimento da primeira solicitação. A construção de identidade segura adiantada elimina a necessidade de construção de uma identidade segura a cada solicitação.
  • Um repositório de credenciais seguras que substitui a implementação herdada de vault de senhas. O repositório de credenciais seguras pode armazenar vários outros tipos de credenciais criptografadas além de strings criptografadas. Mais informações sobre repositórios de credenciais podem ser encontradas na seção Repositório de credenciais de Como configurar a segurança do servidor. Com a exceção do subsistema elytron, vaults de senhas herdados novos e existentes ainda podem ser usados com outros subsistemas.

Repositórios de credenciais

Você pode configurar repositórios de credenciais no subsistema elytron para o JBoss EAP 7.1. Um repositório de credenciais permite o armazenamento e o uso seguros de credenciais e tem muitos benefícios quando comparado a um vault de senhas herdado. As credenciais armazenadas em um repositório de credenciais podem ser referenciadas de forma segura por outros subsistemas do JBoss EAP. Isso evita o armazenamento de credenciais, como senhas, em texto simples. Para obter mais informações, consulte Repositório de credenciais em Como configurar a segurança do servidor.

Mapeamento de identidade para usuários de gerenciamento autenticados

Ao usar o subsistema elytron para proteger as interfaces de gerenciamento, você pode fornecer um domínio de segurança às interfaces de gerenciamento para mapeamento de identidade de usuários autenticados. Isso permite que usuários autenticados apareçam com a identidade apropriada quando conectados às interfaces de gerenciamento. Para obter mais informações, consulte Mapeamento de identidade para usuários de gerenciamento autenticados em Como configurar a segurança do servidor.

Criação automática de certificados autoassinados para aplicativos

O JBoss EAP 7.1 fornece geração automática de um certificado autoassinado para fins de desenvolvimento para realms de segurança herdados. Para obter mais informações, consulte Criação automática de certificados autoassinados para aplicativos em Como configurar a segurança do servidor.

Armazenamento em cache para realms de segurança

O Elytron fornece um caching-realm que permite armazenar em cache os resultados de uma pesquisa de credenciais de um realm de segurança. Por exemplo, você pode usar isso para configurar um cache para credenciais provenientes do LDAP ou de um banco de dados para aumentar o desempenho para usuários consultados com frequência. Para obter mais informações, consulte Configurar armazenamento em cache para realms de segurança em Como configurar o gerenciamento de identidade.

Logon único gerenciado por contêiner

Você pode configurar o JBoss EAP 7.1 para usar logon único gerenciado por contêiner para aplicativos usando o método de autenticação FORM do Elytron. Isso permite que os usuários sejam autenticados uma vez e acessem outros recursos protegidos pelo método de autenticação FORM sem precisar autenticar novamente. Para obter mais informações, consulte Configurar aplicativos para uso do logon único gerenciado por contêiner em Como configurar o gerenciamento de identidade.

Propagação de identidades de segurança para chamadas remotas

O JBoss EAP 7.1 introduz a capacidade de configurar facilmente o servidor e seus aplicativos para propagar uma identidade de segurança de um cliente para o servidor para chamadas remotas. Você também pode configurar a execução de componentes do servidor na identidade de segurança de um determinado usuário.

Para obter mais informações, consulte Propagação de identidades de segurança para chamadas remotas em Como configurar a segurança do servidor para o JBoss EAP.

WildFly Elytron Tool

O JBoss EAP 7.1 inclui o WildFly Elytron Tool, que permite criar e modificar os repositórios de credenciais sem precisar de um servidor do JBoss EAP em execução. Ele também pode ser usado para converter vaults de senhas em repositórios de credenciais usando a opção vault.

Consulte Criar e modificar repositórios de credenciais offline com o WildFly Elytron Tool em Como configurar a segurança do servidor para obter informações sobre como usar o WildFly Elytron Tool.

Script para ativar o Elytron em subsistemas e interfaces de gerenciamento aplicáveis

Um script é fornecido para ativar a estrutura do Elytron em subsistemas e interfaces de gerenciamento aplicáveis. Esse script, enable-elytron.cli, está disponível no diretório EAP_HOME/docs/examples/. O uso desse script é opcional; o Elytron também pode ser ativado em subsistemas individuais conforme necessário. Para obter mais informações, consulte Como o Red Hat JBoss Enterprise Application Platform 7.1 lida com a segurança por padrão no guia Arquitetura de segurança.

Configuração do subsistema Elytron usando o console de gerenciamento

Você pode configurar o subsistema elytron usando o console de gerenciamento acessando ConfiguraçãoSubsistemasSegurança - Elytron. Para obter mais informações, consulte Subsistema Elytron em Como configurar a segurança do servidor.

Integração do Elytron com os subsistemas do JBoss EAP

No JBoss EAP 7.1, você pode usar o Elytron para proteger vários aspectos dos seguintes subsistemas do JBoss EAP:

batch-jberet
Você pode configurar o subsistema batch-jberet para executar trabalhos em lote usando um domínio de segurança do Elytron. Para obter mais informações, consulte Configurar a segurança para trabalhos em lote em Guia de configuração.
datasources
Você pode usar um repositório de credenciais ou um domínio de segurança do Elytron para fornecer informações de autenticação em uma definição de fonte de dados. Para obter mais informações, consulte Segurança de fonte de dados em Guia de configuração.
ejb3
Você pode criar mapeamentos para domínios de segurança do Elytron no subsistema ejb3 para serem referenciados por implantações. Para obter mais informações, consulte Integração do Elytron com o subsistema EJB em Desenvolvimento de aplicativos EJB.
iiop-openjdk
Você pode configurar o subsistema iiop-openjdk para usar SSL/TLS para proteger a comunicação entre clientes e servidores. Para obter mais informações, consulte Configurar o IIOP para usar SSL/TLS com o subsistema Elytron no Guia de configuração.
jca
Você pode usar o atributo elytron-enabled para ativar a segurança do Elytron para um gerenciador de trabalho. Para obter mais informações, consulte Configuração do subsistema JCA no Guia de configuração.
jgroups
Você pode configurar os protocolos SYM_ENCRYPT e ASYM_ENCRYPT para referenciar repositórios de chaves ou de credenciais definidos no subsistema elytron. O protocolo AUTH também pode ser configurado para referenciar repositórios de chaves e de credenciais gerenciados pelo Elytron. Para obter mais informações, consulte Proteção de um cluster no Guia de configuração.
mail
Você pode usar um armazenamento de credenciais para fornecer senhas para o subsistema mail. Para obter mais informações, consulte Usar um armazenamento de credenciais para senhas no Guia de configuração.
messaging-activemq
Você pode usar a segurança do Elytron para proteger o subsistema messaging-activemq. Para obter mais informações, consulte a seção Uso do subsistema Elytron de Configuração de mensagens.
modcluster
Você pode usar um cliente ssl-context do Elytron para se comunicar com um balanceador de carga usando SSL/TLS. Para obter mais informações, consulte Integração do Elytron com o subsistema ModCluster em Como configurar a segurança do servidor.
remoting
Você pode configurar conexões de entrada e saída no subsistema remoting para referenciar contextos de autenticação, alocadores de autenticação SASL e contextos SSL definidos no subsistema elytron. Para obter mais informações, consulte Integração do Elytron com o subsistema de comunicação remota em Como configurar a segurança do servidor.
resource-adapters
Você pode proteger conexões para o adaptador de recursos usando o Elytron. É possível ativar a entrada de segurança para estabelecer credenciais de segurança ao enviar trabalho para execução pelo gerenciador de trabalho. Para obter mais informações, consulte Configurar adaptadores de recursos para usar o subsistema Elytron no Guia de configuração.
undertow
Você pode usar o subsistema elytron para configurar SSL/TLS e autenticação de aplicativos. Para obter mais informações, consulte Uso de SSL/TLS em Como configurar a segurança do servidor e Configurar aplicativos web para usar o Elytron ou segurança herdada para autenticação em Como configurar o gerenciamento de identidade.

3.2. Gerenciamento de servidores

Inicialização de servidores em estado suspenso

Durante o processo de inicialização, os servidores do JBoss EAP 7.1 são deixados em um estado suspenso até que todos os serviços sejam iniciados. Nesse estado, os servidores não aceitam solicitações. Depois da inicialização de todos os serviços necessários, o servidor é colocado em um estado de operação normal e pode começar a aceitar solicitações.

Também é possível iniciar os servidores em um estado suspenso e mantê-los suspensos até que a operação resume seja invocada. Para iniciar o servidor em um estado suspenso, defina o argumento start-mode como suspend para a operação apropriada.

  • Para um servidor autônomo, passe o argumento --start-mode=suspend no script standalone.sh:

    Exemplo: iniciar um servidor autônomo em estado suspenso

    $ EAP_HOME/bin/standalone.sh --start-mode=suspend

  • Em um domínio gerenciado, passe o argumento start-mode=suspend na operação start da CLI de gerenciamento:

    Exemplo: iniciar um servidor de domínio gerenciado em um estado suspenso

    /host=HOST_NAME/server-config=SERVER_NAME:start(start-mode=suspend)

Monitoramento de eventos de ciclo de vida de servidor usando o subsistema de gerenciamento principal

No JBoss EAP 7.1, você pode registrar um ouvinte no subsistema core-management do JBoss EAP para monitorar eventos de ciclo de vida de servidor. Para obter mais informações, consulte Monitorar eventos de ciclo de vida de servidor usando o subsistema de gerenciamento principal no Guia de configuração.

Monitoramento de eventos de ciclo de vida de servidor usando notificações JMX

No JBoss EAP 7.1, você pode registrar um ouvinte de notificações JMX para monitorar eventos de ciclo de vida de servidor. Para obter mais informações, consulte Monitorar eventos de ciclo de vida de servidor usando notificações JMX no Guia de configuração.

Monitoramento e visualização de alterações de configuração na CLI de gerenciamento

Em um domínio gerenciado, alterações de configuração são monitoradas em nível de host para modificações relacionadas a servidores e hosts. A ativação de alterações de configuração para um controlador de host ativa-as para todos os seus servidores gerenciados. A configuração do monitoramento de alterações de configuração foi movida para o novo subsistema core-management. Para obter mais informações, consulte Ver alterações de configuração no Guia de configuração.

Monitoramento de estatísticas de trabalho

É possível visualizar as estatísticas de tempo de execução de um trabalho usando a CLI de gerenciamento. Isso expõe estatísticas de trabalho como contagem de conexões, contagem de threads e tamanho da fila.

O seguinte comando exibe estatísticas de tempo de execução para o trabalho padrão:

/subsystem=io/worker=default:read-resource(include-runtime=true,recursive=true)

Para obter mais informações, consulte Configuração de trabalhos no Guia de ajuste de desempenho.

Monitoramento de recursos aprimorado para controladores de host subordinados

No JBoss EAP 7.1, os controladores de host configurados como subordinados podem ignorar recursos da configuração geral do domínio que não forem necessários. Os recursos podem ser irrelevantes se não estiverem associados com os servidores gerenciados pelos controladores de host subordinados.

Você pode ignorar configurações não utilizadas definindo o atributo ignore-unused-configuration como true na configuração de conexão do controlador de host do JBoss EAP 7.0 para o controlador de domínio remoto. Por padrão, o atributo ignore-unused-configuration não está definido.

Para obter mais informações e ver um exemplo de configuração, consulte Configurar um controlador de domínio do JBoss EAP 7.1 para administrar instâncias do JBoss EAP 7.0 no Guia de configuração.

Você também pode usar o sinalizador de linha de comando --backup juntamente com ignore-unused-configuration definido como true, o que permite que um controlador de host subordinado seja iniciado usando uma cópia de backup da configuração do domínio se o controlador de domínio não estiver disponível. O controlador de host subordinado não exige o domain.xml completo para isso.

Controladores de host iniciados usando uma configuração armazenada em cache reconectam-se automaticamente ao controlador de domínio

No JBoss EAP 7.1, um controlador de host que foi iniciado usando uma configuração armazenada em cache porque o controlador de domínio estava inacessível se reconectará automaticamente quando o controlador de domínio se tornar disponível.

Definição da localidade do servidor

Você pode usar a propriedade org.jboss.logging.locale para substituir a localidade de mensagens registradas com o JBoss Logging, incluindo qualquer mensagem do JBoss EAP e de suas dependências próprias.

Para obter mais informações, consulte Definir a localidadedo servidor usando a propriedade org.jboss.logging.locale no Guia de configuração.

Novo atributo: parse-group-name-from-dn

No JBoss EAP 7.1, o atributo parse-group-name-from-dn agora está disponível em /core-service=management/security-realm=realm/authorization=ldap/group-search=principal-to-group. O atributo é fornecido no lugar da propriedade do sistema org.jboss.as.domain.management.security.parseGroupNameFromLdapDN.

Para obter mais informações, consulte Ativação do realm de segurança do LDAP para analisar funções de um DN no Guia de migração.

Gerenciamento do JBoss EAP usando o JBoss Operations Network

Você pode monitorar os servidores do JBoss EAP 7.1 e gerenciar as configurações usando o Red Hat JBoss Operations Network.

Importante

O JBoss Operations Network não inclui suporte para configuração do novo subsistema do JBoss EAP 7.1 elytron. O suporte de monitoramento é limitado aos recursos do plugin do JBoss EAP do JBoss Operations Network que estavam disponíveis para o JBoss EAP 6.4, com o acréscimo dos subsistemas do JBoss EAP undertow, iiop-openjdk, io e messaging-activemq.

3.3. CLI de Gerenciamento

Exibição e salvamento de anexos

No JBoss EAP 7.1, você pode usar o comando attachment para exibir ou salvar o conteúdo de um fluxo em anexo. Isso funciona para recursos de gerenciamento que podem expor conteúdo como um fluxo.

Use o seguinte comando da CLI de gerenciamento para exibir o conteúdo de um anexo:

attachment display --operation=/subsystem=logging/log-file=server.log:read-attribute(name=stream)

Use o seguinte comando da CLI de gerenciamento para salvar o conteúdo do anexo de um arquivo:

attachment save --operation=/subsystem=logging/log-file=server.log:read-attribute(name=stream) --file=test.log
Nota

Se um nome de arquivo não for fornecido, então EAP_HOME/bin/STREAM_UUID será usado como o caminho do arquivo.

Consulte Exibir o conteúdo de um anexo e Salvar o conteúdo de um anexo no Guia da CLI de gerenciamento para obter mais informações.

Como anexar arquivos a operações de gerenciamento

No JBoss EAP 7.1, você pode usar a CLI de gerenciamento para anexar um arquivo a uma operação de gerenciamento. É possível usar a operação add-content para adicionar conteúdo a uma implantação detalhada existente ou a operação remove-content para remover conteúdo. Por exemplo:

/deployment=test.war:add-content(content=[{input-stream-index=/path/to/a.txt,target-path=a.txt}])

É possível usar a operação browse-content para ver o conteúdo de uma implantação.

Definição de um tempo limite para comandos

O JBoss EAP 7.1 permite definir o tempo máximo, em segundos, para aguardar a conclusão de um comando da CLI de gerenciamento. Um valor de 0 significa a ausência de tempo limite. Por padrão, não há tempo limite. Por exemplo:

command-timeout set 30

Incluir o prompt e o comando na saída em modo não interativo

No JBoss EAP 7.1, o argumento --echo-command exibe o prompt e o comando com a saída para comandos executados em modo não interativo. Isso pode ser útil ao resolver falhas correspondendo a saída ao comando executado.

$ EAP_HOME/bin/jboss-cli.sh --connect --file=/path/to/cli_commands.txt --echo-command

O comando e sua saída são exibidos conforme ele é executado.

[standalone@localhost:9990 /] :read-attribute(name=running-mode)
{
    "outcome" => "success",
    "result" => "NORMAL"
}
[standalone@localhost:9990 /] ls /deployment
helloworld.war

Especificação de dependências exportadas para um módulo personalizado

O JBoss EAP 7.1 fornece o argumento --export-dependencies para especificar dependências exportadas para um módulo. Por exemplo:

module add --name=com.mysql --resources=/path/to/mysql-connector-java-5.1.36-bin.jar --export-dependencies=javax.api,javax.transaction.api
Importante

O uso do comando da CLI de gerenciamento module para adicionar e remover módulos é fornecido somente como apresentação prévia de tecnologia. Esse comando não é apropriado para uso em um domínio gerenciado ou ao se conectar à CLI de gerenciamento remotamente. Os módulos devem ser adicionados e removidos manualmente em um ambiente de produção. Para obter mais informações, consulte as seções Criar um módulo personalizado manualmente e Remover um módulo personalizado manualmente do Guia de configuração do JBoss EAP.

Definição de um diretório de módulo alternativo durante a criação do módulo

Se você definiu um diretório de módulos externo do JBoss EAP para ser usado no lugar do diretório padrão EAP_HOME/modules/, é possível usar o argumento --module-root-dir para especificar o diretório a ser usado durante a criação do módulo.

module add --module-root-dir=/path/to/my-external-modules/ --name=com.mysql --resources=/path/to/mysql-connector-java-5.1.36-bin.jar --dependencies=javax.api,javax.transaction.api
Importante

O uso do comando da CLI de gerenciamento module para adicionar e remover módulos é fornecido somente como apresentação prévia de tecnologia. Esse comando não é apropriado para uso em um domínio gerenciado ou ao se conectar à CLI de gerenciamento remotamente. Os módulos devem ser adicionados e removidos manualmente em um ambiente de produção. Para obter mais informações, consulte as seções Criar um módulo personalizado manualmente e Remover um módulo personalizado manualmente do Guia de configuração do JBoss EAP.

Inicialização de uma sessão da CLI de gerenciamento usando o IBM JDK

Os scripts jboss-cli definem a propriedade com.ibm.jsse2.overrideDefaultTLS como true. Essa definição é importante se você estiver usando o IBM JDK para evitar os problemas de autenticação ao usar SSL configurado pelo Elytron. Certifique-se de definir essa propriedade se você estiver usando o IBM JDK e outro método para iniciar uma sessão da CLI, por exemplo, usando as classes disponíveis em EAP_HOME/bin/client/jboss-cli-client.jar de forma programática.

3.4. Console de Gerenciamento

Atualizações de implantação de aplicativos

O JBoss EAP 7.1 inclui uma interface de usuário atualizada para o gerenciamento de implantações de aplicativos. A guia Implantações no console de gerenciamento agora tem os seguintes recursos para implantações:

  • Uma opção suspensa Detalhar, que permite descompactar uma implantação desativada.
  • Uma opção suspensa Procurar conteúdo, que permite ver os arquivos na implantação. Não há suporte para navegação.
  • Detalhes sobre se um aplicativo é um arquivo morto ou uma implantação detalhada.

Suporte ao monitoramento de transações

O JBoss EAP 7.1 fornece métricas aprimoradas do subsistema transactions, bem como métricas de recursos de transação JDBC e JMS no console de gerenciamento.

Visualização e gerenciamento de transações preparadas de mensagens

Você pode usar o console de gerenciamento para visualizar, confirmar ou reverter transações preparadas para o subsistema messaging-activemq. Para obter mais informações, consulte Gerenciar transações preparadas usando o console de gerenciamento em Configuração de mensagens.

Sugestões de campo de texto

Ao digitar em alguns campos de texto no console de gerenciamento, podem aparecer como sugestões valores de outros locais da configuração.

Como adicionar uma bridge JMS

Você pode usar o console de gerenciamento para adicionar uma bridge JMS acessando ConfiguraçãoSubsistemasMensagens - ActiveMQBridge JMSVisualizarAdicionar. Forneça as informações necessárias e clique em Salvar.

Monitoramento e visualização de alterações de configuração

Para ativar o monitoramento de alterações de configuração no console de gerenciamento, acesse a guia Tempo de execução, selecione o servidor autônomo ou o host do domínio gerenciado e selecione Alterações de configuração na lista suspensa. Clique no botão Ativar e forneça um valor de histórico máximo.

A tabela da página então listará cada alteração de configuração feita, com a data, a origem, o resultado e os detalhes da operação.

Configuração de filtros

Você pode configurar filtros do Undertow com o console de gerenciamento acessando ConfiguraçãoSubsistemasWeb/HTTP - UndertowFiltrosVisualizar.

Gerenciamento de trabalhos em lote

No JBoss EAP 7.1, você pode gerenciar trabalhos em lote no console de gerenciamento. Acesse a guia Tempo de execução, selecione o servidor e selecione SubsistemasLoteVisualizar. Abra a guia Trabalhos e inicie, interrompa ou reinicie os trabalhos conforme necessário.

Teste de conexões de fonte de dados

Ao usar o assistente Criar fonte de dados no console de gerenciamento, você tem a oportunidade de testar a conexão antes de criar a fonte de dados. Na tela Testar conexão do assistente, clique no botão Testar conexão.

Uso de modelos de fonte de dados

Ao criar uma fonte da dados usando o console de gerenciamento, o assistente Criar fonte de dados fornece modelos com valores padrão para os bancos de dados compatíveis. O suporte a esse recurso foi adicionado no JBoss EAP 7.1.

Suporte a subsistemas

No JBoss EAP 7.1, agora há suporte para configurar os seguintes subsistemas usando o console de gerenciamento:

  • BeanValidation
  • ES
  • Jaxrs
  • Jdr
  • Jsf
  • Jsr77
  • Naming
  • Pojo
  • Remoting
  • RequestController
  • Sar
  • Segurança - Elytron
  • Singleton
  • Weld

3.5. Servidor Web

Suporte a HTTP/2

O JBoss EAP 7.1 dá suporte a HTTP/2 seguro em todos os sistemas operacionais compatíveis, com a exceção do HP-UX. Há duas formas compatíveis de ativar o HTTP/2 no JBoss EAP 7.1:

  • Usando o suporte interno do JBoss EAP 7.1 para ALPN, que usa a API de reflexão. Isso funciona por padrão, mas é limitado somente ao OpenJDK e ao Oracle JDK.
  • Usando o suporte a ALPN do novo OpenSSL do JBoss Core Services, que funciona em todos os sistemas operacionais compatíveis, com exceção do HP-UX.

3.6. Registro em Log

Relatórios aprimorados para erros de inicialização causados por arquivos de configuração de servidor inválidos

Antes do JBoss EAP 7.1, erros de inicialização ocorridos ao analisar arquivos de configuração de servidor inválidos forneciam pouco feedback e eram difíceis de depurar. O JBoss EAP 7.1 usa análise XSD para produzir mensagens de erro mais informativas ao encontrar erros de análise XML. Ele agora mostra onde o erro ocorreu, fornece feedback sobre o erro de validação e, quando possível, obtém e exibe documentação de apoio do XSD para descrever o problema. A validação aprimorada de configuração XML não inclui descritores de implantação de implantações.

Log do servidor inclui informações de patch

Informações relacionadas a patches agora são registradas em log no arquivo server.log durante a inicialização. Essas informações são úteis ao depurar problemas.

3.7. Implementações

Gerenciamento de implantações detalhadas

No JBoss EAP 7.1, você pode criar implantações gerenciadas detalhadas e manipular seus conteúdos usando operações de gerenciamento de implantações.

Para obtermais informações, consulte Gerenciamento de implantações detalhadas no Guia de configuração.

Suporte para navegação do repositório de conteúdo

No JBoss EAP 7.1, você pode visualizar o conteúdo de implantações gerenciadas usando operações de gerenciamento de implantações. Para obter mais informações, consulte Visualização de conteúdo de implantações no Guia de configuração.

Cancelamento de implantação de todas as implantações

No JBoss EAP 7.1, você agora pode cancelar a implantação de todas as implantações na CLI de gerenciamento usando um caractere curinga (*). Por exemplo:

undeploy *

Reimplantação de todas as implantações desativadas

No JBoss EAP 7.1, você agora pode implantar todas as implantações desativadas na CLI de gerenciamento usando um caractere curinga (*). Por exemplo:

deploy --name=*

3.8. Carregamento de classes

Usando caminhos absolutos para recursos em arquivos module.xml

No JBoss EAP 7.1, agora há suporte para o uso de caminhos absolutos no elemento de caminho resource-root do arquivo module.xml para módulos. Isso permite que as bibliotecas de recursos estejam acessíveis sem precisar movê-las para o diretório EAP_HOME/modules/.

3.9. Naming

Alteração dinâmica de associações JNDI

No JBoss EAP 7.1, você pode usar a operação rebind para atualizar associações JNDI dinamicamente sem precisar recarregar ou reiniciar serviços. No entanto, isso não funciona para associações de contexto externo, pois elas exigem a reinicialização de serviços.

Para obter mais informações, consulte a seção Alterar associações JNDI dinamicamente do Guia de configuração.

3.10. Transações

Desligamento normal para transações

Quando suspenso, o servidor não aceitará novas solicitações, mas é permitido que solicitações e transações em andamento continuem até sua conclusão ou até a expiração do período de tempo limite. Isso também se aplica a solicitações de serviço web associados com uma transação XTS. Consulte Suspender e desligar normalmente o JBoss EAP no Guia de configuração para obter mais informações.

Monitoramento de transações aprimorado

O JBoss EAP 7.1 fornece estatísticas aprimoradas para recursos de transação nos subsistemas datasources, transactions e messaging-activemq.

Consulte Estatísticas de fonte de dados e Visualizar estatísticas de transação no Guia de configuração e Monitoramento de estatísticas de mensagens em Configurar mensagens para obter informações sobre a visualização das estatísticas disponíveis.

Esquecer chamada ao excluir uma transação

Ao usar a operação delete em um log de transação, a chamada forget agora é acionada para que os logs de fornecedor de recurso XA sejam limpos corretamente. Para obter mais detalhes e ver como configurar o comportamento de chamada forget, consulte Excluir uma transação no Guia de configuração.

3.11. JCA

Suporte a gerenciador de trabalho distribuído

O JBoss EAP 7.1 dá suporte ao uso de gerenciadores de trabalho distribuído para reagendar a execução de trabalhos em outra instância de gerenciador de trabalho. Para obter mais informações, consulte a seção Gerenciadores de trabalho distribuído do Guia de configuração.

3.12. Fontes de dados

Liberação de conexões de fonte de dados

Você pode liberar conexões de fonte de dados usando a CLI de gerenciamento ou o console de gerenciamento. Para obter detalhes, consulte a seção Liberação de conexões de fonte de dados do Guia de configuração.

Registro de rastreamentos de inscrições está desativado

No JBoss EAP 7.1, por padrão, o atributo enlistment-trace está definido como false para fontes de dados. Você pode ativar o registro de rastreamentos de inscrições definindo o atributo enlistment-trace como true.

Atenção

A ativação de rastreamento de inscrições facilita o rastreamento de erros durante a inscrição de transações, mas gera um impacto no desempenho.

3.13. Adaptadores de recurso

Configuração do adaptador de recurso JMS genérico

O JBoss EAP 7.1 permite configurar um adaptador de recurso JMS genérico para uso com provedores JMS.

Liberação de conexões de adaptador de recurso

Você pode liberar conexões de adaptador de recurso usando a CLI de gerenciamento. Para obter detalhes, consulte a seção Liberação de conexões de adaptador de recurso do Guia de configuração.

Registro de rastreamentos de inscrições está desativado

No JBoss EAP 7.1, por padrão, o atributo enlistment-trace está definido como false para adaptadores de recurso. Você pode ativar o registro de rastreamentos de inscrições definindo o atributo enlistment-trace como true.

Atenção

A ativação de rastreamento de inscrições facilita o rastreamento de erros durante a inscrição de transações, mas gera um impacto no desempenho.

3.14. EJB

Suporte a MDB singleton em cluster

O JBoss EAP 7.1 agora dá suporte ao uso de MDBs singleton em cluster. Quando um MDB é identificado como um singleton em cluster e implantado em um cluster, ele somente estará ativo em um nó por vez. Quando o nó do servidor falhar ou for desligado, o MDB singleton em cluster será ativado em um nó diferente e começará a consumir mensagens nesse nó.

Para obter mais informações, consulte MDBs singleton em cluster em Desenvolvimento de aplicativos EJB.

Rebalanceamento de todas as conexões MDB de entrada

No JBoss EAP 7.0, era possível usar a propriedade de configuração de ativação rebalanceConnections para MDBs para permitir o rebalanceamento de todas as conexões MDB de entrada quando a topologia de cluster Artemis subjacente é alterada.

No JBoss EAP 7.1, agora você pode definir esse comportamento usando o atributo rebalance-connections nas configurações pooled-connection-factory do subsistema messaging-activemq.

Compatibilidade de cliente EJB herdado

O JBoss EAP 7.1 é fornecido com dois clientes EJB:

Cliente EJB
O novo cliente EJB é majoritariamente compatível com versões anteriores do cliente EJB do JBoss EAP 7.0, mas não completamente. Esse cliente EJB dá suporte à alternância de identidade dinâmica, e a comunicação remota foi aprimorada para dar suporte a várias identidades em uma única conexão, em vez de exigir uma nova conexão por identidade.
Cliente EJB herdado

O cliente EJB herdado fornece compatibilidade binária completa com versões anteriores. Esse cliente EJB herdado pode ser executado com os aplicativos cliente que foram compilados inicialmente usando o cliente EJB do JBoss EAP 7.0. Todas as APIs que estavam presentes no cliente EJB do JBoss EAP 7.0 estão presentes no cliente EJB herdado do JBoss EAP 7.1.

Para obter mais informações, consulte Compatibilidade de cliente EJB herdado em Desenvolvimento de aplicativos EJB.

Simplificação de código de cliente EJB

No JBoss EAP 7.1, você pode simplificar o código do cliente EJB ao invocar os componentes em cluster no servidor do EJB.

Para obter mais informações, consulte Simplificação de código de cliente EJB em Desenvolvimento de aplicativos EJB.

Configuração de endereço do cliente EJB

No JBoss EAP 7.1, você pode associar o soquete do cliente EJB a uma porta e um endereço específicos. Então, o EJB de destino pode ler a porta e o endereço de origem do cliente remoto que o invocou.

Para obter mais informações, consulte Configurar o endereço do cliente EJB em Desenvolvimento de aplicativos EJB.

ArtifactID único para dependências jboss-ejb-client

A inclusão da dependência jboss-ejb-client, com sua versão gerenciada usando wildfly-ejb-client-bom, inclui todas as dependências necessárias para o cliente EJB.

Nas versões anteriores do JBoss EAP, as dependências precisavam ser incluídas manualmente em pom.xml. No JBoss EAP 7.1, isso não é necessário.

Para obter mais informações, consulte Dependências de projeto para clientes EJB remotos em Desenvolvimento de aplicativos EJB.

Suporte a expressões regulares em associações de interceptor

No JBoss EAP 7.1, você pode definir o atributo allow-ejb-name-regex do subsistema ejb3 como true para permitir expressões regulares em associações de interceptor. Isso permite que os interceptores sejam mapeados para todos os beans que correspondam à expressão regular especificada.

Para obter mais informações, consulte Configurar um interceptor de contêiner em Desenvolvimento de aplicativos EJB.

3.15. JSF

Suporte ao Multi-JSF

O JBoss EAP 7.1 fornece suporte completo ao Multi-JSF. Esse recurso permite ao usuário substituir a implementação JSF fornecida com o JBoss EAP por uma implementação JSF fornecida pelo usuário. Ele também permite instalar várias implementações JSF e trocar facilmente a implementação padrão.

Tenha em mente que o seguinte problema pode ocorrer ao fornecer e instalar suas próprias implementações JSF:

Mojarra/MyFaces 2.1.x/2.0.x

O JBoss EAP 7 é uma implementação certificada do Java EE 7. No entanto, se você instalar uma implementação JSF alternativa com versão 2.1 ou mais antiga, o JBoss EAP 7 não estará mais em conformidade com o Java EE 7. Essas versões mais antigas estão em conformidade com a especificação JSF 2.0 definida em JSR-314; portanto, os recursos da especificação JSF 2.2 definida em JSR-344 estarão ausentes.

Para obter mais informações, consulte Implementação do Multi-JSF do JavaServer Faces no Guia de configuração.

3.16. Hibernate

Atualizado para o Hibernate ORM 5.1

O JBoss EAP 7.1 agora inclui o Hibernate ORM 5.1. O lançamento Hibernate ORM 5.1 inclui vários aprimoramentos de desempenho e correções de bugs. Ele também introduz os seguintes novos recursos e aprimoramentos:

Recursos do Hibernate ORM 5.1
  • Em Hibernate Query Language (HQL), você pode definir um ingresso em uma entidade, não somente uma associação mapeada. Por exemplo:

    select ...
    from FinancialRecord f
        left join User u
            on r.lastUpdateBy = u.username
  • Além de fornecer a capacidade de carregar uma única identidade por identificador, a API agora também dá suporte ao carregamento de várias entidades do mesmo tipo por identificador usando a interface Session da API nativa do Hibernate. Por exemplo:

    // Load Users 1, 2 and 3 at one shot
    List<User> users = session.byMultipleIds(User.class).multiLoad( 1, 2, 3 );
  • O lançamento oferece aprimoramentos na integração CDI, incluindo soluções para o problema que ocorre quando o Hibernate tenta acessar a CDI BeanManager cedo demais. Para obter mais informações, consulte HHH-8706 e HHH-10477.
  • Ao definir uma consulta de auditoria Envers, você agora pode referenciar em associações um para um e muitos para um.

Atualizado para o Hibernate Validator 5.3.x

O JBoss EAP 7.1 agora inclui o Hibernate Validator 5.3.x. Os principais destaques incluem:

  • Correções de bugs
  • A capacidade de adicionar cargas dinâmicas a violações de restrições
  • Uma nova API programática para definição e declaração de restrições
  • Novas traduções das mensagens de restrições integradas

Para obter mais informações, consulte Novos recursos do Hibernate Validator 5.3.x no Guia de desenvolvimento.

Acesso a propriedades de associações em consultas Envers

No JBoss EAP 7.1, você pode acessar propriedades de entidades associadas em consultas Envers. Para obter mais informações, consulte Percurso de associações de entidade usando propriedades de entidades referenciadas em Desenvolvimento de aplicativos do Hibernate.

Definir grupos de obtenção de atributos de carregamento lento

No JBoss EAP 7.1, se você está usando carregamento lento aprimorado por código de bytes, você pode definir os agrupamentos de atributos a serem obtidos quando um dos grupos é acessado. Para obter mais informações, consulte Carregamento lento de atributos em Desenvolvimento de aplicativos do Hibernate.

3.17. Alta disponibilidade

Novo perfil de balanceador de carga

O JBoss EAP 7.1 inclui um novo perfil de balanceador de carga que está pré-configurado para permitir a execução de um servidor como um balanceador de carga. O arquivo de configuração do servidor autônomo para esse perfil é standalone-load-balancer.xml, localizado no diretório EAP_HOME/standalone/configuration/. O perfil do domínio gerenciado é load-balancer, definido no arquivo EAP_HOME/domain/configuration/domain.xml. Para obter informações sobre o uso desse perfil, consulte Configurar o Undertow como um balanceador de carga usando mod_cluster no Guia de configuração.

3.18. RESTEasy

Exibir detalhes de recursos de pontos de extremidade REST

No JBoss EAP 7.1, você pode usar a operação read-resource da CLI de gerenciamento no subsistema jaxrs para implantações para visualizar detalhes sobre pontos de extremidade RESTEasy. Para obter mais informações, consulte Visualização de pontos de extremidade RESTEasy em Desenvolvimento de aplicativos de serviços web.

Suporte a módulos Jackson para Java 8

O JBoss EAP 7.1 fornece suporte para os módulos Jackson necessários para recursos do Java 8. Para obter mais informações, consulte Suporte a módulos Jackson para Java 8 em Desenvolvimento de aplicativos de serviços web.

Suporte para filtros do JSON

No JBoss EAP 7.1, você pode anotar classes com @JsonFilter para realizar filtragem dinâmica. Para obter mais informações, consulte Suporte para JsonFilter no RESTEasy Jackson2 em Desenvolvimento de aplicativos de serviços web.

Registro em log de provedores e interceptores do RESTEasy

O RESTEasy registra em log os provedores e os interceptores usados no nível de log DEBUG. Para obter mais informações, consulte Registro em log de provedores e interceptores do RESTEasy em Desenvolvimento de aplicativos de serviços web.

3.19. Mensagens

Repositório de persistência JDBC de mensagens

No JBoss EAP 7.1, você pode usar o JDBC para persistir mensagens e dados de associação em um banco de dados em vez do diário padrão baseado em arquivos.

Importante

O JBoss EAP 7.1 atualmente é compatível comente com o Oracle Database 12c e exclui topologias de alta disponibilidade (HA).

Para obter mais informações, consulte a seção Persistência do diário de mensagens usando um banco de dados JDBC de Configuração de mensagens.

Definição do tamanho do pool de threads do cliente usando propriedades do sistema

As propriedades do sistema a seguir podem ser usadas para definir o tamanho do pool de threads global de um cliente e do pool global de threads agendados.

  • activemq.artemis.client.global.thread.pool.max.size
  • activemq.artemis.client.global.scheduled.thread.pool.core.size

Para obter mais informações, consulte a seção Gerenciamento de threads de cliente de Configuração de mensagens.

Acessar um agente AMQ usando o adaptador de recurso integrado ActiveMQ Artemis

Você pode usar o adaptador de recurso integrado ActiveMQ Artemis no subsistema messaging-activemq do JBoss EAP para acessar um agente externo do Red Hat JBoss AMQ 7.

Para obter mais informações, consulte Uso do adaptador de recurso integrado Artemis para conexões remotas em Configuração de mensagens.

3.20. Configuração do Cliente

Novo arquivo de configuração do cliente

O JBoss EAP 7.1 introduz um arquivo de configuração wildfly-config.xml que permite a você especificar várias configurações de cliente, como EJB, autenticação Elytron e comunicação remota, em um único arquivo de configuração.

Consulte Configuração de cliente usando o arquivo wildfly-config.xml no Guia de desenvolvimento para obter informações sobre os clientes e os tipos de configuração que podem ser realizados usando o arquivo wildfly-config.xml.

3.21. Ferramenta de migração de servidor JBoss

JBoss Server Migration Tool disponível

O JBoss Server Migration Tool agora está disponível com a distribuição do JBoss EAP 7.1. Isso auxilia a migração da configuração de servidor do JBoss EAP 6.4 ou 7.0 para o JBoss EAP 7.1. A ferramenta pode converter configurações de servidor autônomo e de domínio gerenciado.

Para obter mais informações sobre o uso do JBoss Server Migration Tool, consulte Usar o JBoss Server Migration Tool para migrar configurações de servidor no Guia de migração do JBoss EAP.

3.22. Documentação

Guia de ajuste de desempenho disponível

O Guia de ajuste de desempenho agora está disponível para o JBoss EAP 7.1. O guia fornece recomendações de otimização para casos de uso comuns do JBoss EAP, bem como instruções para monitoramento de desempenho e diagnóstico de problemas de desempenho.

3.23. Instalador gráfico

Instalador gráfico fornece opção de instalação JSF personalizada

Você pode instalar uma implementação JSF personalizada ao usar o instalador gráfico para instalar o JBoss EAP 7.1. Na página Configurar ambiente de tempo de execução do assistente do instalador, selecione Realizar configuração avançadaInstalar implementação JSF e clique em Próximo. Forneça os detalhes necessários na página Configuração do JSF e conclua o restante da instalação.

Nota

O instalador do JBoss EAP 7.1 dá suporte à instalação do MyFaces v2.1.x/v2.2.x e do Mojarra v2.1.x/v2.2.x. A implementação do próprio MyFaces não é compatível.

3.24. Início rápido

Novo início rápido disponível: ha-singleton-deployment

O início rápido ha-singleton-deployment é fornecido com o JBoss EAP 7.1. Ele é um exemplo completo e funcional de um serviço empacotado em um aplicativo como um singleton em todo o cluster usando implantações singleton.

Novo início rápido disponível: messaging-clustering-singleton

O início rápido messaging-clustering-singleton é fornecido com o JBoss EAP 7.1. Esse início rápido demonstra o clustering usando o ActiveMQ Artemis com configuração de singleton MDB.

Atualizações de início rápido para segurança do Elytron

Os inícios rápidos a seguir são novos no JBoss EAP 7.1 e demonstram como o Elytron pode ser usado para proteger aplicativos.

  • ejb-security-context-propagation
  • ejb-security-jaas
  • ejb-security-programmatic-auth
  • helloworld-mutual-ssl
  • helloworld-mutual-ssl-secured
  • helloworld-ssl

Os seguintes inícios rápidos existentes foram atualizados para usar a segurança do Elytron:

  • ejb-asynchronous
  • ejb-multi-server
  • ejb-remote
  • ejb-security
  • helloworld-jms
  • servlet-security
  • shopping-cart