Red Hat Training

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

Capítulo 8. Migrando a partir de versões mais antigas do JBoss EAP [Esta é uma tradução automática]

8.1. Migrando do JBoss EAP 5 para o JBoss EAP 7 [Esta é uma tradução automática]

Este guia concentra-se nas alterações necessárias para executar e implementar com êxito os aplicativos JBoss EAP 6 no JBoss EAP 7. Se você planeja migrar seus aplicativos diretamente do JBoss EAP 5 para o JBoss EAP 7, há uma série de recursos disponíveis para ajudá-lo planejar e executar sua migração. Sugerimos que você adote a seguinte abordagem.

  1. Vejo Resumo das alterações feitas em cada release neste guia para uma visão geral rápida e de alto nível das mudanças feitas em cada versão do JBoss EAP.
  2. Leia o JBoss EAP 6 Guia de Migração e este guia para se familiarizar com o conteúdo de cada um.
  3. Use o Referência de atualização de componentes do JBoss EAP 5 como uma referência rápida para informações de migração sobre componentes e recursos específicos.
  4. O Red Hat Application Migration Toolkit baseado em regras continua a adicionar regras para ajudá-lo a migrar diretamente do JBoss EAP 5 para o JBoss EAP 7. Você pode usar essas ferramentas para analisar seu aplicativo e gerar relatórios detalhados sobre as mudanças necessárias para migrar para o JBoss EAP. 7. Para mais informações, consulte Use o Red Hat Application Migration Toolkit para analisar aplicativos para migração.
  5. o Base de Conhecimento do Portal do Cliente atualmente contém artigos e soluções para ajudar com a migração do JBoss EAP 5 para o JBoss EAP 6. Existem planos em vigor para adicionar conteúdo adicional para migração do JBoss EAP 5 para o JBoss EAP 7 ao longo do tempo.

8.2. Resumo das alterações feitas em cada lançamento [Esta é uma tradução automática]

Antes de planejar a sua migração, você deve estar ciente das alterações feitas no JBoss EAP 6 e no JBoss EAP 7.

o Guia de migração do JBoss EAP 6 cobre as mudanças que foram feitas entre o JBoss EAP 5 e o JBoss EAP 6. O seguinte é uma lista condensada das mudanças mais significativas feitas no JBoss EAP 6.

  • Implementado uma nova arquitetura construída no contêiner de serviço modular
  • Uma implementação certificada da especificação Java Enterprise Edition 6
  • Introduziu gerenciamento de domínio, nova configuração de implantação e nova estrutura de diretórios de arquivo e scripts
  • Padronizado em novos namespaces JNDI portáteis

Vejo Rever o que há de novo e diferente no JBoss EAP 6 no JBoss EAP 6 Guia de Migração para uma lista detalhada das alterações feitas nesse lançamento.

O JBoss EAP 7 é construído na mesma estrutura modular como o JBoss EAP 6 e inclui o mesmo gerenciamento de domínio, configuração de implantação, estrutura de diretório de arquivos e scripts. Ele também usa os mesmos espaço de nomes JNDI padronizados. Porém, o JBoss EAP 7 introduz as seguintes alterações.

  • Adiciona suporte para a especificação Java Enterprise Edition 7
  • Substituição do subsistema web com Undertow [Esta é uma tradução automática]
  • Substitui a implementação JacORB IIOP por um ramificação downstream do OpenJDK ORB
  • Inclui o Apache ActiveMQ Artemis como o novo provedor de mensagens
  • Remove o cmp, jaxr, e threads subsistemas
  • Remove o suporte para beans de entidade EJB

Para obter uma lista mais completa de alterações, consulte Rever o que há de novo no JBoss EAP 7

8.3. Revise o conteúdo nos Guias de Migração [Esta é uma tradução automática]

Revise todo o conteúdo do Guia de Migração para cada lançamento conhecer os recursos que foram adicionados ou preteridos e para entender a configuração do servidor e as alterações de aplicativo necessárias para executar os aplicativos existentes para a versão.

Como a arquitetura subjacente não foi alterada entre o JBoss EAP 6 e o ​​JBoss EAP 7, muitas das alterações documentadas no JBoss EAP 6 Guia de Migração ainda se aplicam. Por exemplo, mudanças documentadas em Alterações exigidas pela maioria das aplicações estão relacionados às mudanças arquitetônicas subjacentes feitas no JBoss EAP 6, que ainda se aplicam a este lançamento. A mudança para o novo sistema de carregamento de classe modular é significativa e afeta o empacotamento e as dependências de quase todos os aplicativos do JBoss EAP 5. Muitas das alterações listadas Alterações dependentes de sua arquitetura de aplicativos e componentes também ainda são válidos. No entanto, como o JBoss EAP 7 substituiu o servidor da Web, o ORB e o provedor de mensagens, cmp, threads, e jaxr subsistemas e suporte removido para beans de entidade EJB, você deve consultar este guia para quaisquer alterações relacionadas a essas áreas de componentes. Preste especial atenção ao Alterações na configuração do servidor e Alterações na migração de aplicativos detalhado neste guia antes de começar.

8.4. Referência de atualização do componente JBoss EAP 5 [Esta é uma tradução automática]

Use a tabela a seguir para encontrar informações sobre como migrar um recurso ou componente específico do JBoss EAP 5 para o JBoss EAP 7.1.

JBoss EAP 5
Recurso ou componente
Resumo de alterações e
Onde encontrar informações de migração

Alterações na migração dos aplicativos [Esta é uma tradução automática]

No JBoss EAP 6, a estrutura de carregamento de classes hierárquica anterior foi substituída por uma arquitetura modular baseada nos JBoss Modules. A embalagem do aplicativo também mudou devido à nova estrutura de carregamento de classe modular. Esta arquitetura ainda é usada no JBoss EAP 7. Para informações sobre a nova arquitetura modular, veja o seguinte capítulo no JBoss EAP 7.1 Guia de desenvolvimento.

Para obter informações sobre como atualizar e reempacotar aplicativos para a nova arquitetura modular, consulte a seção a seguir no JBoss EAP 6 Guia de Migração.

Alterações na migração dos aplicativos [Esta é uma tradução automática]

Devido às mudanças no JBoss EAP 6 para usar o carregamento de classe modular, você pode precisar criar ou modificar um ou mais arquivos de configuração do aplicativo para adicionar dependências ou impedir o carregamento de dependências automáticas. Isso não mudou no JBoss EAP 7. Para detalhes, veja a seção a seguir no JBoss EAP 6 Guia de Migração.

Cache e Infinispan

O JBoss Cache foi substituído pelo Infinispan para uso interno pelo servidor apenas no JBoss EAP 6. Veja as seções a seguir no JBoss EAP 6 Guia de Migração para obter informações sobre como substituir o JBoss Cache no código do aplicativo.

A estratégia de cache Infinispan e as alterações de configuração do JBoss EAP 7 estão documentadas na seção seguinte deste guia.

Configurando um Adaptador de Recursos JMS Genérico [Esta é uma tradução automática]

O JBoss EAP 6 consolidou a configuração de fontes de dados e adaptadores de recursos em um único arquivo, e isso ainda é verdade no JBoss EAP 7. Veja a seção a seguir no JBoss EAP 6 Guia de Migração Para maiores informações.

Migrar configurações de planos de implementação [Esta é uma tradução automática]

No JBoss EAP 6, a estrutura de diretórios, scripts e configuração de implantação foram alterados. Essas mudanças ainda são válidas no JBoss EAP 7. Veja a seção a seguir do JBoss EAP 6 Guia de Migração Para maiores informações.

EJB

A especificação do Java EE 7 tornou os recursos do EJB 2.xe anteriores opcionais, portanto, é altamente recomendado que você reescreva o código do aplicativo para usar a especificação EJB 3.xe o JPA. Para obter informações sobre recursos e mudanças reprovados necessários para executar o EJB 2.x, consulte a seção a seguir no JBoss EAP 6 Guia de Migração.

No JBoss EAP 6, o cache EJB com monitoração de estado e o tamanho do conjunto de beans de sessão stateless são configurados no ejb3 subsistema do arquivo de configuração do servidor. o jboss-ejb3.xml descritor de implantação substitui o jboss.xml arquivo descritor de implantação. Para mais informações sobre estas mudanças, veja a seção seguinte no JBoss EAP 6 Guia de Migração.

O conector ea porta remotos padrão foram alterados no JBoss EAP 7. Para obter mais informações sobre isso e as alterações na configuração do servidor, consulte as seções a seguir deste guia.

Beans de entidade EJB não são suportados no JBoss EAP 7. Para obter informações sobre como migrar beans de entidade para o JPA, consulte a seção a seguir deste guia.

Alterações de migração JPA e Hibernate [Esta é uma tradução automática]

No JBoss EAP 6, o Hibernate foi atualizado da versão 3 para a versão 4. Esta versão do JBoss EAP também implementou a especificação JPA 2.0 e as alterações foram feitas nas propriedades de persistência JPA. Para obter informações sobre como modificar seu aplicativo para essas mudanças, consulte a seção a seguir no JBoss EAP 6 Guia de Migração.

O JBoss EAP 7 implementa o JPA 2.1 e inclui o Hibernate 5. Ele também atualiza o Hibernate Search da versão 4.6.x para a versão 5.5.x. Outras alterações incluem remoção de suporte para beans de entidade EJB e atualizações adicionais para propriedades de persistência JPA. Para obter informações sobre como essas alterações afetam seus aplicativos, consulte as seções a seguir neste guia.

Alterações de aplicativos JAX-RS e RESTEasy [Esta é uma tradução automática]

O JBoss EAP 6 empacotou o RESTEasy 2, que configurou automaticamente o RESTEasy e exigiu mudanças na configuração do aplicativo. Veja a seção a seguir no JBoss EAP 6 Guia de Migração para informação.

O JBoss EAP 7 inclui o RESTEasy 3 e muitas classes foram descontinuadas. A versão do Jackson mudou da versão 1.9.9 para a versão 2.6.3 ou superior. Para obter detalhes sobre essas alterações, consulte a seção a seguir deste guia.

JBoss AOP

O JBoss AOP (Aspect Oriented Programming) foi removido no JBoss EAP 6. Para obter informações sobre como refatorar aplicativos que usam o JBoss AOP, veja a seção a seguir no JBoss EAP 6 Guia de Migração.

Alterações de Canais JGroups [Esta é uma tradução automática]

A maneira como você habilita o clustering e especifica os endereços de bind alterados no JBoss EAP 6. Veja a seção a seguir no JBoss EAP 6 Guia de Migração Para maiores informações.

No JBoss EAP 7, o JGroups agora usa como padrão uma interface de rede privada em vez de uma interface de rede pública e também introduz <channel> elementos para o jgroups subsistema. O JBoss EAP 7 também inclui a implementação Undertow mod_cluster, introduz uma nova API para construir serviços singleton e outros novos recursos de clustering. Essas alterações estão documentadas nas seções a seguir deste guia.

JNDI

O JBoss EAP 6 implementou um novo namespace JNDI global padronizado e uma série de namespaces relacionados que mapeiam para os vários escopos de um aplicativo Java EE. Veja a seção seguinte do JBoss EAP 6 Guia de Migração para obter informações sobre alterações de aplicativo necessárias para usar as novas regras de espaço de nomes JNDI.

JSF

O JBoss EAP 6 incluiu o JSF 2.0 e permitiu que você configurasse seu aplicativo para usar uma versão mais antiga. Isso não é mais possível no JBoss EAP 7, que agora inclui o JSF 2.2. Veja a seção a seguir neste guia para mais informações.

Alterações de registro [Esta é uma tradução automática]

O JBoss EAP 6 introduziu uma nova estrutura do JBoss Logging que ainda é usada no JBoss EAP 7. Os aplicativos que usam estruturas de criação de log de terceiros podem ser impactados pelas alterações de carregamento de classe modular. Revise a seção a seguir no JBoss EAP 6 Guia de Migração para obter informações sobre essas alterações.

No JBoss EAP 7, anotações no org.jboss.logging O pacote agora está obsoleto, o que afeta o código-fonte e os Maven GAVs (groupId: artifactId: version). Os prefixos para todas as mensagens de log também foram alterados. Para obter mais informações sobre essas alterações, consulte as seções a seguir deste guia.

Mensagens e JMS

No JBoss EAP 6, o HornetQ substituiu o JBoss Messaging como a implementação padrão do JMS. Então, no JBoss EAP 7, o ActiveMQ Artemis substituiu o HornetQ como o provedor de mensagens embutido.

A melhor abordagem para migrar sua configuração de mensagens é começar com a configuração do servidor padrão do JBoss EAP 7 e usar o seguinte guia para aplicar suas alterações de configuração de mensagens atuais.

Se você quiser entender as mudanças necessárias para passar do JBoss Messaging para o HornetQ, revise a seção seguinte do JBoss EAP 6 Guia de Migração.

Em seguida, analise as seguintes informações sobre como migrar a configuração do HornetQ e os dados de mensagens relacionadas neste guia.

ORB

No JBoss EAP 6, a configuração do JacORB foi movida do EAP_HOME/server/production/conf/jacorb.properties arquivo para o arquivo de configuração do servidor. O JBoss EAP 7 substituiu a implementação JacORB IIOP por uma ramificação downstream do OpenJDK ORB.

A melhor abordagem para migrar sua configuração do ORB é começar com a configuração do servidor padrão do JBoss EAP 7 e usar a seguinte seção no JBoss EAP 7.1 Guia de configuração para aplicar as alterações da sua configuração atual do ORB.

Invocação Remota

Uma nova API de cliente EJB foi introduzida no JBoss EAP 6 para invocações remotas; no entanto, se você preferir não reescrever o código do aplicativo para usar a nova API, poderá modificar o código existente para usar o ejb:BEAN_REFERENCE para acesso remoto aos EJBs. Veja a seção a seguir no JBoss EAP 6 Guia de Migração Para maiores informações.

No JBoss EAP 7, o conector padrão e a porta de conexão remota padrão foram alterados. Para mais informações, consulte as seguintes seções deste guia.

Seam 2.x

Embora o suporte oficial aos aplicativos Seam 2.2 tenha sido descartado no JBoss EAP 6, ainda era possível configurar as dependências do JSF 1.2 e do Hibernate 3 para permitir que os aplicativos do Seam 2.2 fossem executados naquela versão. O JBoss EAP 7, que agora inclui o JSF 2.2 e o Hibernate 5, não suporta o Seam 2.2 ou o Seam 2.3 devido ao fim da vida útil do Red Hat JBoss Web Framework Kit. É recomendável que você reescreva seus componentes do Seam usando os beans Weld CDI.

Segurança

As atualizações de segurança no JBoss EAP 6 incluíram mudanças nos nomes de domínio de segurança e mudanças em como configurar segurança para autenticação básica. A configuração da região de segurança do LDAP foi movida para o arquivo de configuração do servidor. Veja as seções a seguir no JBoss EAP 6 Guia de Migração Para maiores informações.

As atualizações que impactam a segurança no JBoss EAP 7 incluem alterações na configuração do servidor e alterações no aplicativo. Informações podem ser encontradas nas seguintes seções deste guia.

Alterações de aplicativos de segurança [Esta é uma tradução automática]

O Spring 4.2.x é a primeira versão estável do Spring suportada pelo JBoss EAP 7. Para obter informações sobre os serviços da Web do Apache CXF Spring e as alterações de integração do Spring RESTEasy, consulte as seções a seguir neste guia.

Transações

A configuração de transação consolidada do JBoss EAP 6 foi movida para o arquivo de configuração do servidor. Outras atualizações incluíram alterações nas configurações do identificador de nó JTA e como habilitar o JTS. Para detalhes, veja a seção seguinte no JBoss EAP 6 Guia de Migração.

Alguns atributos de configuração do Gerenciador de Transações que estavam disponíveis no transactions O subsistema no JBoss EAP 6 foi alterado no JBoss EAP 7. Para obter mais informações, consulte a seção a seguir deste guia.

Válvulas

O Undertow substituiu o JBoss Web no JBoss EAP 7 e as válvulas não são mais suportadas. Veja as seções a seguir neste guia.

Serviços da Web

O JBoss EAP 6 incluiu o JBossWS 4. Para obter informações sobre as mudanças requeridas por essa atualização de versão, veja a seção a seguir no JBoss EAP 6 Guia de Migração.

O JBoss EAP 7 introduziu o JBossWS 5. Veja a seção a seguir neste guia para atualizações necessárias.