JBoss Community Archive (Read Only)

JBoss Server Migration Tool

Migrating from Previous Versions of JBoss EAP to JBoss EAP 7.x

Overview

This document describes how to use the JBoss Server Migration Tool to migrate from previous versions of JBoss EAP to JBoss EAP 7.x.

The JBoss Server Migration Tool supports migration of the following configurations.

Source Version

Target Version

JBoss EAP 6.4

JBoss EAP 7.0

JBoss EAP 6.4

JBoss EAP 7.1

JBoss EAP 7.0

JBoss EAP 7.1

As a reminder, the following is the basic command to run tool.

~/jboss-server-migration $ ./server-migration.sh --source ../jboss-eap-6.4 --target ../jboss-eap-7.0

----------------------------------------------------------
----  JBoss Server Migration Tool  -----------------------
----------------------------------------------------------

Retrieving servers...
INFO  [org.jboss.migration.core.logger] (main) SOURCE server name: EAP, version: 6.4.0.GA.
INFO  [org.jboss.migration.core.logger] (main) TARGET server name: JBoss EAP, version: 7.0.0.GA.

Server migration starting...

You can use the JBoss Server Migration Tool to migrate any of the following configurations:

Modules Migration

The JBoss Server Migration Tool is capable of migrating any module installed in the source server, as long as the module is not already installed on the target server.

Module migration can be done explicitly, by user demand, or implicitly, because another module or migrated server configuration depends on it.

You can control which modules should be migrated or not by using the modules.includes and modules.excludes environment properties:

  • A module whose ID is referenced by the modules.excludes environment property is never migrated.

  • A module whose ID is referenced by the modules.includes environment property is always migrated, unless it referenced by the modules.excludes environment property.

The syntax for a module ID is name:slot; The slot is optional, and if it is not specified, defaults to main.

The environment properties used to migrate modules can be configured in any of the following ways:

  • You can configure the properties in the tool's config/environment.properties file, for example:

    modules.includes=com.example.moduleA,com.example.moduleB
    modules.excludes=com.example.moduleC
  • You can include the above properties in your own custom properties file, and then pass the file on the command line using the --environment argument.

  • You can pass the information on the command line using a system property. The environment property names must be prefixed with jboss.server.migration., for example:

    -Djboss.server.migration.modules.includes="com.example.moduleA" -Djboss.server.migration.modules.excludes="com.example.moduleC,com.example.moduleD"

The JBoss Server Migration Tool does not verify that the source module is compatible with the target server. An incompatible migrated module can cause the target server to malfunction or not work at all. A module can be incompatible due to a dependency on a module that is installed on both the source and target servers, but includes or expose different resources on each one.

Standalone Server Migration

Standalone Configuration Processing Overview

When tasked to migrate standalone server configurations, the JBoss Server Migration Tool migrates the configuration files and related content from the source server to the target server. This migration task is optional.

If you run the migration tool in interactive mode, which is the default, you are are prompted to confirm its execution.

Migrate the source's standalone server?
yes/no?
  • If you reply with yes or y, the standalone server migration proceeds.

  • If you reply with no or n, the standalone server migration is skipped.
    If you choose to proceed, the tool starts by migrating the source standalone server's content. Because both the source and target servers use a similar cyphered content repository to store data that is referenced by standalone server configurations, such as deployments and deployment overlays, migration of this data merely consists of finding and copying the content from the source server to the target server.

    INFO  [org.jboss.migration.core.task.ServerMigrationTask#5] (main) Migrating standalone content found: [22/caa450a9ba3b84eaf5a15b6da418b92ce6c98e/content, 23/b62a37ba8a4830622bfcdb960280577cc6796e/content, 40/8bcb8a4480739d370ebf70fbcabb33c1508c50/content, 88/96c992d1b9866945a5015b72f8d254d3d5c132/content, ea/69fbffdf08b320c09ad1acc7d31deba5a7787b/content, fc/8ec517e0b169fb27b61ff90f04de5dd8ca8d52/content]
    INFO  [org.jboss.migration.core.task.ServerMigrationTask#6] (main) Resource with path /jboss-eap-6.4/standalone/data/content/22/caa450a9ba3b84eaf5a15b6da418b92ce6c98e/content migrated.
    INFO  [org.jboss.migration.core.task.ServerMigrationTask#7] (main) Resource with path /jboss-eap-6.4/standalone/data/content/23/b62a37ba8a4830622bfcdb960280577cc6796e/content migrated.
    INFO  [org.jboss.migration.core.task.ServerMigrationTask#8] (main) Resource with path /jboss-eap-6.4/standalone/data/content/40/8bcb8a4480739d370ebf70fbcabb33c1508c50/content migrated.
    INFO  [org.jboss.migration.core.task.ServerMigrationTask#9] (main) Resource with path /jboss-eap-6.4/standalone/data/content/88/96c992d1b9866945a5015b72f8d254d3d5c132/content migrated.
    INFO  [org.jboss.migration.core.task.ServerMigrationTask#10] (main) Resource with path /jboss-eap-6.4/standalone/data/content/ea/69fbffdf08b320c09ad1acc7d31deba5a7787b/content migrated.
    INFO  [org.jboss.migration.core.task.ServerMigrationTask#11] (main) Resource with path /jboss-eap-6.4/standalone/data/content/fc/8ec517e0b169fb27b61ff90f04de5dd8ca8d52/content migrated.

Next, the tool scans the source server for standalone server configurations files and prints the results in the console.

INFO  [org.jboss.migration.core.ServerMigrationTask#3] (main) Retrieving source's standalone configurations...
INFO  [org.jboss.migration.core.ServerMigrationTask#3] (main) /jboss-eap-6.4/standalone/configuration/standalone-full-ha.xml
INFO  [org.jboss.migration.core.ServerMigrationTask#3] (main) /jboss-eap-6.4/standalone/configuration/standalone-full.xml
INFO  [org.jboss.migration.core.ServerMigrationTask#3] (main) /jboss-eap-6.4/standalone/configuration/standalone-ha.xml
INFO  [org.jboss.migration.core.ServerMigrationTask#3] (main) /jboss-eap-6.4/standalone/configuration/standalone-osgi.xml
INFO  [org.jboss.migration.core.ServerMigrationTask#3] (main) /jboss-eap-6.4/standalone/configuration/standalone.xml

If you run the migration tool in non-interactive mode, the JBoss Server Migration Tool migrates all listed configuration files.

If you run the migration tool in interactive mode, which is the default, you are presented with the following prompt.

Migrate all configurations?
yes/no?
  • If you reply yes, all listed configuration files are migrated.

  • If you reply no, you receive a prompt asking to confirm the migration, for each listed configuration file:

    Migrate configuration /jboss-eap-6.4/standalone/configuration/standalone.xml ?
    yes/no? y

Customizing the Migration of the Standalone Configuration

The standalone server migration can be customized by configuring the following environment properties:

Property Name

Property Description

standalone.skip

If set to true, the tool skips the entire standalone server migration.

server.source.standalone.serverDir

Defines an alternative path for the source standalone server directory, which defaults to the source standalone server's base directory.

server.source.standalone.configDir

Defines an alternative path for the source standalone server configuration directory, which defaults to the source standalone server's configuration directory.

server.source.standalone.configFiles

Specifies the file names of the source standalone server configurations to be migrated.

server.target.standalone.serverDir

Defines an alternative path for the target standalone server directory, which defaults to the target standalone server’s base directory.

server.target.standalone.configDir

Defines an alternative path for the target standalone server configuration directory, which defaults to the target's standalone server's configuration directory.

The environment configuration can be customized in one of the following ways:

  • You can configure the properties in the tool's config/environment.properties file:

    standalone.skip=false
    server.source.standalone.serverDir=standalone
    server.source.standalone.configDir=configuration
    server.source.standalone.configFiles=standalone.xml,standalone-full.xml
    server.target.standalone.serverDir=standalone
    server.target.standalone.configDir=configuration
  • You can include the above properties in your own custom properties file, and then pass the file on the command line using the --environment argument.

  • You can pass the information on the command line using a system property. The environment property names must be prefixed with jboss.server.migration., for example:

    -Djboss.server.migration.server.source.standalone.serverDir="standalone"

Standalone Configuration File Migration

When migrating the standalone server configuration, the JBoss Server Migration Tool first copies the source configuration files to the target server. It then updates the configuration to not only work correctly in the target server, but also to take advantage of the target server’s new functionality. The following is the lists of tasks performed by the tool during the migration:

Remove Unsupported Subsystems

The following JBoss EAP 6.4 subsystems are not supported by JBoss EAP 7:

Subsystem Name

Configuration Namespace

Extension Modue

cmp

urn:jboss:domain:cmp:*

org.jboss.as.cmp

configadmin

urn:jboss:domain:configadmin:*

org.jboss.as.configadmin

jaxr

urn:jboss:domain:jaxr:*

org.jboss.as.jaxr

osgi

urn:jboss:domain:osgi:*

org.jboss.as.osgi

threads

urn:jboss:domain:threads:*

org.jboss.as.threads

All unsupported subsystems configurations and extensions are removed from migrated server configurations.

The console logs the unsupported subsystem configurations and extensions as they are removed from each server configuration:

INFO  [org.jboss.migration.core.ServerMigrationTask#5] (main) Unsupported extensions removed: [org.jboss.as.jaxr, org.jboss.as.threads, org.jboss.as.cmp]
INFO  [org.jboss.migration.core.ServerMigrationTask#5] (main) Unsupported subsystems removed: [urn:jboss:domain:jaxr:1.1, urn:jboss:domain:cmp:1.1, urn:jboss:domain:threads:1.1]

Migrate Referenced Modules

A configuration that is migrated from a source server to a target server may reference or depend on a module that is not installed on the target server. The server migration tool detects this and automatically migrate the referenced modules, plus their dependent modules, from the source server as well.

A module is migrated when it is referenced by:

  • A security-realm configuration, as plug-in(s) module

  • A datasource subsystem configuration, as datasource driver(s) module

  • An ee subsystem configuration, as a global module

  • A naming subsystem configuration, as an Object Factory module

  • A messaging subsystem configuration, as JMS Bridge module

The console logs a message noting the module ID for any module that is migrated, for example:

INFO  [org.jboss.migration.core.task.ServerMigrationTask#18] (main) Module cmtool.security-realms:main migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#19] (main) Module cmtool.datasources:main migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#20] (main) Module cmtool.ee1:main migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#21] (main) Module cmtool.ee2:main migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#22] (main) Module cmtool.naming:main migrated.

It is possible to exclude the migration of specific modules by specifying the id(s) in the environment property named modules.excludes.

Migrate the jacorb Subsystem

The jacorb subsystem is deprecated in JBoss EAP 7 and is replaced by the iiop-openjdk subsystem.

By default, the JBoss Server Migration Tool automatically migrates the jacorb subsystem configuration to its replacement iiop-openjdk subsystem configuration. If you prefer, you can set the subsystem.jacorb.migrate.skip environment property value to true to skip automatic update of the iiop-openjdk subsystem configuration.

The legacy subsystem migration is done without requiring any interaction from the user. Any issues encountered during the migration are written to the log files and displayed in the migration console.

Upon successful migration of the legacy jacorb subsystem configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.ServerMigrationTask#12] (main) Migrating subsystem jacorb configurations...
INFO  [org.jboss.migration.core.ServerMigrationTask#13] (main) Subsystem config /subsystem=jacorb migrated.
INFO  [org.jboss.migration.core.ServerMigrationTask#14] (main) Extension org.jboss.as.jacorb removed.
INFO  [org.jboss.migration.core.ServerMigrationTask#12] (main) Subsystem jacorb configurations migrated.

Migrate the web Subsystem

The web subsystem is deprecated in JBoss EAP 7 and is replaced by the undertow subystem. The JBoss Server Migration Tool automatically migrates the web subsystem configuration to its replacement undertow subsystem configuration.

By default, the tool automatically migrates the web subsystem configuration to its replacement undertow subsystem configuration. If you prefer, you can set the subsystem.web.migrate.skip environment property value to true to skip automatic migration of the web subsystem.

Upon successful migration of the legacy web subsystem configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.ServerMigrationTask#15] (main) Migrating subsystem web configurations...
INFO  [org.jboss.migration.core.ServerMigrationTask#16] (main) Subsystem config /subsystem=web migrated.
INFO  [org.jboss.migration.core.ServerMigrationTask#17] (main) Extension org.jboss.as.web removed.
INFO  [org.jboss.migration.core.ServerMigrationTask#15] (main) Subsystem web configurations migrated.

Migrate the messaging Subsystem

The messaging subsystem is deprecated in JBoss EAP 7 and is replaced by the messaging-activemq subsystem. The JBoss Server Migration Tool automatically migrates the messaging subsystem configuration to its replacement messaging-activemq subsystem configuration.

The legacy subsystem migration is done without requiring any interaction from the user. Any issues encountered during the migration result in messages written to the tool's log files and displayed in the migration console. Upon successful migration of the legacy messaging subsystem configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.ServerMigrationTask#18] (main) Migrating subsystem messaging configurations...
INFO  [org.jboss.migration.core.ServerMigrationTask#19] (main) Subsystem config /subsystem=messaging migrated.
INFO  [org.jboss.migration.core.ServerMigrationTask#20] (main) Extension org.jboss.as.messaging removed.
INFO  [org.jboss.migration.core.ServerMigrationTask#18] (main) Subsystem messaging configurations migrated.

Note: You can configure the migration environment to skip the messaging subsystem migration by setting the subsystem.messaging.migrate.skip environment property value to true.

Update the infinispan Subsystem

The JBoss Server Migration Tool makes the following updates to the infinispan subsystem configuration to better match the JBoss EAP 7 default configurations.

  • Adds the ejb cache, which is present in the JBoss EAP 7 default configuration.

  • Adds the server cache, which is present in the JBoss EAP 7 default configuration.

  • Fixes the module name in the hibernate cache configuration.

By default, the tool automatically updates the infinispan subsystem configuration to include these changes. If you prefer, you can configure the environment properties to customize the process of updating the infinispan subsystem configuration.

Property Name

Property Description

subsystem.infinispan.update.skip

If set to true, the tool skips the update of the infinispan subsystem.

subsystem.infinispan.update.add-infinispan-ejb-cache.skip

If set to true, the tool does not add the ejb cache.

subsystem.infinispan.update.add-infinispan-server-cache.skip

If set to true, the tool does not add the server cache.

subsystem.infinispan.update.fix-hibernate-cache-module-name.skip

If set to true, the tool does not fix the module name in the hibernate cache configuration.

Upon successful migration of the infinispan subsystem configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.ServerMigrationTask#21] (main) Updating subsystem /subsystem=infinispan configuration...
INFO  [org.jboss.migration.core.ServerMigrationTask#22] (main) Server cache added to Infinispan subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#24] (main) Infinispan subsystem's cache hibernate 'module' attribute updated to org.hibernate.infinispan.
INFO  [org.jboss.migration.core.ServerMigrationTask#21] (main) Subsystem /subsystem=infinispan configuration updated.

Update the ee Subsystem

The ee Subsystem in JBoss EAP 7 provides support for new Java EE 7 features.

  • You can configure instances of Java EE 7 concurrency utilities, such as container-managed Executors.

  • You can define the Java EE 7 default resources, such as the default data source, by specifying the original JNDI addresses.

By default, the tool updates the ee subsystem configuration to include the new features. If you prefer, you can configure the environment properties to customize the process of updating the ee subsystem configuration.

Property Name

Property Description

subsystem.ee.update.skip

If set to true, the tool skips the update of the ee subsystem.

subsystem.ee.update.setup-ee-concurrency-utilities.skip

If set to true, the tool does not add the default instances of concurrency utilities

subsystem.ee.update.setup-javaee7-default-bindings.skip

If set to true, the tool does not set up Java EE 7 default resources.

subsystem.ee.update.setup-javaee7-default-bindings.defaultDataSourceName

Specifies the name of the default data source to look for in the source configuration.

subsystem.ee.update.setup-javaee7-default-bindings.defaultDataSourceJndiName

Specifies the JNDI name for the default data source.

subsystem.ee.update.setup-javaee7-default-bindings.defaultJmsConnectionFactoryName

Specifies the name of the JMS connection factory} for the default data source.

subsystem.ee.update.setup-javaee7-default-bindings.defaultJmsConnectionFactoryJndiName

Specifies the JNDI name for the default JMS connection factory.

JNDI names that are specified are assumed to be valid. JNDI names are not validated by the tool.

For concurrency utilities instances, the tool automatically configures the exact same instances that are present in all JBoss EAP 7 default configurations and does not require any user interaction. The log simply indicates the instances were added:

INFO  [org.jboss.migration.core.ServerMigrationTask#21] (main) Default ContextService added to EE subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#21] (main) Default ManagedThreadFactory added to EE subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#21] (main) Default ManagedExecutorService added to EE subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#21] (main) Default ManagedScheduledExecutorService added to EE subsystem configuration.

When defining Java EE 7 default resources, by default the tool looks for the resources present in default JBoss EAP 6 configurations and select these if present.

INFO  [org.jboss.migration.core.ServerMigrationTask#76] (main) Java EE Default Datasource configured with JNDI name java:jboss/datasources/ExampleDS.

In the case where the tool does not find such resources, then user input is required. The tool lists all available resources in the configuration, and then asks the user to select the one that should be set as the default, or to manually provide the JNDI address of the original resource. The following is an example of the interaction that occurs when migrating a configuration file with two configured data sources, ExampleDS1 and ExampleDS2 and defining the default data source:

INFO  [org.jboss.migration.core.ServerMigrationTask#22] (main) Default datasource not found.
0. ExampleDS
1. Unconfigured data source, I want to enter the JNDI name...
Please select Java EE's Default Datasource: (0): 0
INFO  [org.jboss.migration.core.ServerMigrationTask#22] (main) Java EE Default Datasource configured with JNDI name java:jboss/datasources/ExampleDS.

Save this Java EE Default Datasource JNDI name and use it when migrating other config files?
yes/no? y

Note that if you run the migration tool in non-interactive mode and the expected JBoss EAP 6 default resources are not available, for example the default JMS connection factory, the tool will not configure those resources.

Update the ejb3 Subsystem

The JBoss Server Migration Tool makes the following updates to the ejb3 subsystem configuration to better match the JBoss EAP 7 default configurations.

  • The remote service configuration is updated to reference the new HTTP connector.

  • The default-sfsb-passivation-disabled-cache attribute is configured to use the efault-sfsb-cache.

  • Legacy passivation store and cache configurations are replaced with the JBoss EAP 7 defaults.

By default, the tool updates the ejb3 subsystem configuration to include these changes. If you prefer, you can configure the environment properties to customize the process of updating the ejb3 subsystem configuration.

Property Name

Property Description

subsystem.ejb3.update.skip

If set to true, the tool skips the update of the ejb3 subsystem.

subsystem.ejb3.update.add-infinispan-passivation-store-and-distributable-cache.skip

If set to true, the tool does not replace the passivation_store and cache configurations.

subsystem.ejb3.update.setup-default-sfsb-passivation-disabled-cache.skip

If set to true, the tool does not update the default-sfsb-passivation-disabled-cache configuration.

subsystem.ejb3.update.activate-ejb3-remoting-http-connector.skip

If set to true, the tool does not update the EJB Remoting configuration.

Upon successful migration of the ejb3 subsystem configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.ServerMigrationTask#28] (main) Updating subsystem /subsystem=ejb3 configuration...
INFO  [org.jboss.migration.core.ServerMigrationTask#29] (main) EJB3 subsystem's remote service configured to use HTTP Remoting connector.
INFO  [org.jboss.migration.core.ServerMigrationTask#31] (main) Legacy file passivation store removed from EJB3 subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#31] (main) Legacy 'clustered' passivation store removed from EJB3 subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#31] (main) Infinispan passivation store added to EJB3 subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#31] (main) Legacy 'passivating' cache removed from EJB3 subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#31] (main) Legacy 'clustered' cache removed from EJB3 subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#31] (main) Distributable cache added to EJB3 subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#28] (main) Subsystem /subsystem=ejb3 configuration updated.

Update the remoting Subsystem

One of the most relevant features introduced by JBoss EAP 7 is the new HTTP connector, a connector that is able to replace all legacy remoting protocols and ports, using a single port. The HTTP Connector is configured in the remoting subsystem and the tool simply updates the subsystem configuration to activate it.

By default, the tool automatically updates the remoting subsystem. If you prefer, you can set the subsystem.remoting.update.skip environment property to true to skip automatic update of the remoting subsystem configuration.

Upon successful migration of the remoting subsystem configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.ServerMigrationTask#32] (main) Updating subsystem /subsystem=remoting configuration...
INFO  [org.jboss.migration.core.ServerMigrationTask#33] (main) Http connector http-remoting-connector added to Remoting subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#32] (main) Subsystem /subsystem=remoting configuration updated.

Update the undertow Subsystem

In addition to migrating the web subsystem to JBoss EAP 7, the JBoss Server Migration Tool adds the following functionality provided by the new undertow subsystem, which is configured in the JBoss EAP 7 default standalone configuration files.

  • Sets the default HTTP Listener redirect socket.

  • Adds support for Java EE 7 Websockets.

  • Sets the default Server response header.

  • Sets the default X-Powered-By response header.

By default, the tool automatically updates the undertow subsystem configuration to include these changes. If you prefer, you can configure the environment properties to customize the process of updating the undertow subsystem configuration.

Property Name

Property Description

subsystem.undertow.update.skip

If set to true, the tool skips the update of the undertow subsystem.

subsystem.undertow.update.set-default-http-listener-redirect-socket.skip

If set to true, the tool does not set the default HTTP Listener redirect socket.

subsystem.undertow.update.add-undertow-websockets.skip

If set to true, the tool does not add support for WebSockets.

subsystem.undertow.update.add-response-header.server-header.skip

If set to true, the tool does not set the default Server response header.

subsystem.undertow.update.add-response-header.x-powered-by-header.skip

f set to true, the tool does not set the default X-Powered-By response header.

Upon successful migration of the undertow subsystem configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.task.ServerMigrationTask#30] (main) Undertow's default HTTP listener 'redirect-socket' set as 'https'.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#31] (main) Undertow's default Servlet Container configured to support Websockets.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#32] (main) Response header 'server-header' set as 'Server: JBoss-EAP/7' in Undertow's config /subsystem=undertow
INFO  [org.jboss.migration.core.task.ServerMigrationTask#33] (main) Response header 'x-powered-by-header' set as 'X-Powered-By: Undertow/1' in Undertow's config /subsystem=undertow

Update the messaging-activemq Subsystem

In addition to migrating the messaging subsystem to JBoss EAP 7, the JBoss Server Migration Tool also adds the following new functionality provided by the messaging-activemq subsystems, which is configured in the JBoss EAP 7 default standalone configuration files.

  • Adds the default HTTP connector and acceptor, enabling the new HTTP-based remote messaging clients.

By default, the tool automatically configures the messaging-activemq subsystem. If you prefer, you can set the subsystem.messaging-activemq.update.skip environment property to true to skip automatic configuration of the messaging-activemq subsystem.

Upon successful migration of the messaging-activemq subsystem configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.ServerMigrationTask#38] (main) Updating subsystem /subsystem=messaging-activemq configuration...
INFO  [org.jboss.migration.core.ServerMigrationTask#39] (main) HTTP Acceptor named http-acceptor added to Messaging ActiveMQ subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#39] (main) HTTP Connector named http-connector added to Messaging ActiveMQ subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#38] (main) Subsystem /subsystem=messaging-activemq configuration updated.

Add the batch-jberet Subsystem

The JBoss EAP 7 batch-jberet subsystem provides support for JSR 352: Batch Applications for the Java Platform. Its default configuration is automatically added to the migrated configuration file unless the environment property named subsystem.batch-jberet.add.skip is set to true.

The subsystem and related extension are added without any interaction required by the user. Upon successful addition of the batch-jberet subsystem configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.ServerMigrationTask#41] (main) Extension org.wildfly.extension.batch.jberet added.
INFO  [org.jboss.migration.core.ServerMigrationTask#42] (main) Subsystem config /subsystem=batch-jberet added.

Add the request-controller Subsystem

The JBoss EAP 7 request-controller subsystem provides congestion control and graceful shutdown functionalities. Its default configuration is automatically added to the migrated configuration file, unless the environment property named subsystem.request-controller.add.skip is set to true.

The subsystem, and related extension are added without any interaction required by the user. Upon successful addition of the request-controller subsystem configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.ServerMigrationTask#44] (main) Extension org.wildfly.extension.request-controller added.
INFO  [org.jboss.migration.core.ServerMigrationTask#45] (main) Subsystem config /subsystem=request-controller added.

Add the security-manager Subsystem

The JBoss EAP 7 security-manager subsystem provides the support for Java EE 7 security permissions. Its default configuration is added to the migrated configuration file, unless the environment property named subsystem.security-manager.add.skip is set to true.

The subsystem and related extension are added without any interaction required by the user. Upon successful addition of the security-manager subsystem configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.ServerMigrationTask#47] (main) Extension org.wildfly.extension.security.manager added.
INFO  [org.jboss.migration.core.ServerMigrationTask#48] (main) Subsystem config /subsystem=security-manager added.

Add the singleton Subsystem

As its name indicates, the JBoss EAP 7 singleton subsystem provides the singleton functionality. Its default configuration is automatically added to the migrated configuration file, unless the environment property named subsystem.singleton.add.skip is set to true.

The subsystem and related extension are added without any interaction required by the user. Upon successful addition of the singleton subsystem configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.ServerMigrationTask#50] (main) Extension org.wildfly.extension.clustering.singleton added.
INFO  [org.jboss.migration.core.ServerMigrationTask#51] (main) Subsystem config /subsystem=singleton added.

Set Up HTTP Upgrade Management

JBoss EAP 7 management clients use the new HTTP Upgrade mechanism. The JBoss Migration Tool makes all of configuration changes needed for clients to work properly with the migrated configuration. If you prefer to skip the configuration of HTTP Upgrade management, set the environment property named management.setup-http-upgrade.skip to true.

  • Enables the HTTP management interface's support for HTTP Upgrade.

  • Changes the management-https socket binding port to 9993.

The configuration changes are fully automated. Upon successful completion of the configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.task.ServerMigrationTask#198] (main) HTTP upgrade management setup starting...
INFO  [org.jboss.migration.core.task.ServerMigrationTask#199] (main) Management interface 'http-interface' http upgrade enabled.
14:18:55,402 INFO  [org.jboss.migration.core.task.ServerMigrationTask#200] (main) Socket binding 'management-https' port set to ${jboss.management.https.port:9993}.
14:18:55,403 INFO  [org.jboss.migration.core.task.ServerMigrationTask#198] (main) HTTP upgrade management setup completed.

Set Up Private Interface

The JBoss EAP 7 default configuration uses a new private interface on all jgroups socket bindings. The JBoss Server Migration Tool automatically updates the migrated jgroups socket bindings to use same configuration. If you prefer to skip the configuration of the private interface, set the environment property named interface.private.setup.skip to true.

Upon successful configuration of the private interface, you should see the following messages in the console:

INFO  [org.jboss.migration.core.task.ServerMigrationTask#134] (main) Interface private added.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#135] (main) Socket binding /socket-binding-group=standard-sockets/socket-binding=jgroups-mping interface set to private
INFO  [org.jboss.migration.core.task.ServerMigrationTask#135] (main) Socket binding /socket-binding-group=standard-sockets/socket-binding=jgroups-tcp interface set to private
INFO  [org.jboss.migration.core.task.ServerMigrationTask#135] (main) Socket binding /socket-binding-group=standard-sockets/socket-binding=jgroups-tcp-fd interface set to private
INFO  [org.jboss.migration.core.task.ServerMigrationTask#135] (main) Socket binding /socket-binding-group=standard-sockets/socket-binding=jgroups-udp interface set to private
INFO  [org.jboss.migration.core.task.ServerMigrationTask#135] (main) Socket binding /socket-binding-group=standard-sockets/socket-binding=jgroups-udp-fd interface set to private

Add Socket Binding Port Expressions

The JBoss EAP 7 default configurations use value expressions for the port attribute of the following socket bindings:

  • ajp

  • http

  • https

By default, the JBoss Server Migration Tool adds these value expressions to the migrated JBoss EAP 6.4 configurations. If you prefer to skip update of the socket binding port expressions, set the socket-bindings.add-port-expressions.skip environment property to true.

Upon successful configuration of the socket binding port expressions, you should see the following messages in the console:

INFO  [org.jboss.migration.core.task.ServerMigrationTask#137] (main) Socket binding /socket-binding-group=standard-sockets/socket-binding=ajp port value expression set as ${jboss.ajp.port:8009}.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#138] (main) Socket binding /socket-binding-group=standard-sockets/socket-binding=http port value expression set as ${jboss.http.port:8080}.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#139] (main) Socket binding /socket-binding-group=standard-sockets/socket-binding=https port value expression set as ${jboss.https.port:8443}.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#136] (main) Socket binding's port expressions added.

Migrate Compatible Security Realms

Because the JBoss EAP 7 security realms configuration is fully compatible with the JBoss EAP 6.4 security realms configuration, they require no update by the JBoss Server Migration Tool. However, if the properties files are not referenced using an absolute path, the tool copies them to the path expected by the migrated configuration file.

This process is fully automated and requires no interaction by the user. To skip the security realms migration, set the security-realms.migrate-properties.skip environment property to true.

Upon successful migration of the security realms configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.task.ServerMigrationTask#140] (main) Migrating security realms...
INFO  [org.jboss.migration.core.task.ServerMigrationTask#141] (main) Resource with path /jboss-eap-6.4/standalone/configuration/mgmt-users.properties migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#141] (main) Resource with path /jboss-eap-6.4/standalone/configuration/mgmt-groups.properties migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#141] (main) Security realm /core-service=management/security-realm=ManagementRealm migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#142] (main) Resource with path /jboss-eap-6.4/standalone/configuration/application-users.properties migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#142] (main) Resource with path /jboss-eap-6.4/standalone/configuration/application-roles.properties migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#142] (main) Security realm /core-service=management/security-realm=ApplicationRealm migrated.

Migrate Deployments

The JBoss Server Migration Tool is able to migrate the following types of deployment configurations for standalone servers.

  • Deployments it references, also known as persistent deployments.

  • Deployments found in directories monitored by its deployment scanners.

  • Deployment overlays it references.

The migration of a deployment or deployment overlay merely consists of installing related file resources on the target server, and possibly updating the migrated configuration. The tool will not assert if these resources are compatible with the target server, which means it might not deploy or work as expected, or might not deploy or work at all. Red Hat recommends that you use JBoss Windup to analyze a deployment with respect to compatibility among different JBoss EAP servers.

Migrate Persistent Deployments

When migrating a standalone server configuration, the migration tool searches for any persistent deployment references and prints the results in the console:

INFO  [org.jboss.migration.core.task.Task#74] (main) Persistent deployments found: [cmtool-helloworld3.war, cmtool-helloworld4.war, cmtool-helloworld2.war, cmtool-helloworld1.war]

If you run the migration tool in non-interactive mode, the JBoss Server Migration Tool migrates all listed deployments.

If you run the migration tool in interactive mode, you see the following prompt:

Migrate all persistent deployments found?
yes/no? y
  • If you reply yes, or y, all persistent deployments that were found are migrated.

  • If you reply no, or n, you receive a prompt asking to confirm the migration for each listed deployment.

Migrate persistent deployment 'cmtool-helloworld3.war'?
yes/no?
  • If you reply yes, or y, the deployment is migrated.

  • If you reply no, or n, the deployment is removed from the standalone server configuration.

Migrate Deployment Scanner Deployments

Deployment scanners, which are only used in standalone server configurations, monitor a directory for new files and manage their deployment automatically or through special deployment marker files.

When migrating a standalone server configuration, the migration tool first searches for any configured deployment scanners, and then for each scanner found, searches its monitored directories for deployments marked as deployed. The results of this search are printed to the console.

INFO  [org.jboss.migration.core.task.ServerMigrationTask#79] (main) Found deployment scanner 'default' watching directory '/jboss-eap-6.4/standalone/deployments', searching for deployments in it...
INFO  [org.jboss.migration.core.task.ServerMigrationTask#79] (main) Deployments found: [cmtool-helloworld5.war, cmtool-helloworld6.war]

If you run the migration tool in non-interactive mode, the JBoss Server Migration Tool migrates all listed deployments.

If you run the migration tool in interactive mode, you see the following prompt:

Migrate all deployments found?
yes/no? y
  • If you reply yes, or y, all deployments that were found are migrated.

  • If you reply no, or n, you receive a prompt asking to confirm the migration for each listed deployment.

    Migrate deployment 'cmtool-helloworld5.war'?
    yes/no?
  • If you reply yes, or y, the deployment is migrated.

  • If you reply no, or n, the deployment is not migrated.

Migrate Deployment Overlays

The migration of deployment overlays is a fully automated process. The migration tool searches for deployment overlays referenced in the standalone server configuration. It then migrates those that are linked to deployments that were migrated.

The migration tool prints a message to the console for each deployment overlay that is migrated or removed.

INFO  [org.jboss.migration.core.task.ServerMigrationTask#79] (main) Deployment overlays found: [overlay4, overlay1, overlay2, overlay3]
INFO  [org.jboss.migration.core.task.ServerMigrationTask#79] (main) Migrating deployment overlay 'overlay4', it's linked to deployment cmtool-helloworld2.war
INFO  [org.jboss.migration.core.task.ServerMigrationTask#80] (main) Removed deployment overlay from configuration /deployment-overlay=overlay1
INFO  [org.jboss.migration.core.task.ServerMigrationTask#81] (main) Removed deployment overlay from configuration /deployment-overlay=overlay2
INFO  [org.jboss.migration.core.task.ServerMigrationTask#79] (main) Migrating deployment overlay 'overlay3', it's linked to deployment cmtool-helloworld2.war

Managed Domain Migration

Managed Domain Processing Overview

When tasked to migrate managed domains, the JBoss Server Migration Tool migrates the domain and host configuration files and their related domain content from the source server to the target server. This migration task is optional.

If you run the migration tool in interactive mode, which is the default, you are prompted to confirm its execution.

Migrate the source's managed domain?
yes/no?
  • If you reply with yes or y, the domain migration proceeds.

  • If you reply with no or n, the domain migration is skipped.

If you choose to proceed, the tool begins migrating the domain content of the source server. A cyphered repository used to store data, such as deployments and deployment overlays, that are referenced by the source server's domain and host configurations. Because the source and target servers use a similar content repository, the migration of this data merely consists of finding and copying the content between the servers. The migration tool prints the results in the console.

INFO  [org.jboss.migration.core.task.ServerMigrationTask#397] (main) Migrating domain content found: [22/caa450a9ba3b84eaf5a15b6da418b92ce6c98e/content, 23/b62a37ba8a4830622bfcdb960280577cc6796e/content, 40/8bcb8a4480739d370ebf70fbcabb33c1508c50/content, 88/96c992d1b9866945a5015b72f8d254d3d5c132/content, ea/69fbffdf08b320c09ad1acc7d31deba5a7787b/content, fc/8ec517e0b169fb27b61ff90f04de5dd8ca8d52/content]
INFO  [org.jboss.migration.core.task.ServerMigrationTask#398] (main) Resource with path /jboss-eap-6.4/domain/data/content/22/caa450a9ba3b84eaf5a15b6da418b92ce6c98e/content migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#399] (main) Resource with path /jboss-eap-6.4/domain/data/content/23/b62a37ba8a4830622bfcdb960280577cc6796e/content migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#400] (main) Resource with path /jboss-eap-6.4/domain/data/content/40/8bcb8a4480739d370ebf70fbcabb33c1508c50/content migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#401] (main) Resource with path /jboss-eap-6.4/domain/data/content/88/96c992d1b9866945a5015b72f8d254d3d5c132/content migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#402] (main) Resource with path /jboss-eap-6.4/domain/data/content/ea/69fbffdf08b320c09ad1acc7d31deba5a7787b/content migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#403] (main) Resource with path /jboss-eap-6.4/domain/data/content/fc/8ec517e0b169fb27b61ff90f04de5dd8ca8d52/content migrated.

Next, the migration tool scans the source server for domain configuration files and prints the results in the console.

INFO  [org.jboss.migration.core.ServerMigrationTask#312] (main) Retrieving source's domain configurations...
INFO  [org.jboss.migration.core.ServerMigrationTask#312] (main) /jboss-eap-6.4/domain/configuration/domain.xml

If you run the migration tool non-interactive mode, the JBoss Server Migration Tool migrates all listed domain configuration files.

If you run the migration tool in interactive mode, which is the default, you are presented with the following prompt.

Migrate all configurations?
yes/no?
  • If you reply with yes, all listed configuration files are migrated.

  • If you reply with no, you are prompted to confirm the migration for each listed configuration file:

    Migrate configuration /jboss-eap-6.4/domain/configuration/domain.xml ?
    yes/no? y

Next, the migration tool scans the source server for host configurations files and prints the results in the console.

INFO  [org.jboss.migration.core.ServerMigrationTask#457] (main) Retrieving source's host configurations...
INFO  [org.jboss.migration.core.ServerMigrationTask#457] (main) /jboss-eap-6.4/domain/configuration/host-master.xml
INFO  [org.jboss.migration.core.ServerMigrationTask#457] (main) /jboss-eap-6.4/domain/configuration/host-slave.xml
INFO  [org.jboss.migration.core.ServerMigrationTask#457] (main) /jboss-eap-6.4/domain/configuration/host.xml

If you run the migration tool in non-interactive mode, the JBoss Server Migration Tool migrates all listed host configuration files.

If you run the migration tool in interactive mode, which is the default, you are presented with the following prompt.

Migrate all configurations?
yes/no?
  • If you reply with yes, all listed configuration files are migrated.

  • If you reply with no, you are prompted to confirm the migration for each listed configuration file:

    Migrate configuration /jboss-eap-6.4/domain/configuration/host.xml ?
    yes/no? y

Customizing the Migration of the Managed Domain Configuration

Managed domain migration can be customized by configuring the following environment properties:

Property Name

Property Description

domain.skip

If set to true, the tool skips the entire domain migration.

server.source.domain.domainDir

Defines an alternative path for the source domain server directory, which defaults to the source domain server's base directory.

server.source.domain.configDir

Defines an alternative path for the source domain server configuration/ directory, which defaults to the source server's domain configuration/ directory.

server.source.domain.domainConfigFiles

Specifies a comma delimited list of the file names of the source server domain configurations that are to be migrated.

server.source.domain.hostConfigFiles

Specifies a comma delimited list of the file names of the source server host configurations that are to be migrated.

server.target.domain.domainDir

Defines an alternative path for the target domain server directory, which defaults to the target domain server’s base directory.

server.target.domain.configDir

Defines an alternative path for the target domain server configuration/ directory, which defaults to the target server's domain configuration/ directory.

The environment configuration may be done in one of the following ways:

  • You can configure the tool's config/environment.properties properties file:

    domain.skip=false
    server.source.domain.domainDir=domain
    server.source.domain.configDir=configuration
    server.source.domain.domainConfigFiles=domain.xml
    server.source.domain.hostConfigFiles=host-master.xml, host.xml
    server.target.domain.domainDir=domain
    server.target.domain.configDir=configuration
  • You can configure the properties in your own custom properties file and pass the file on the command line using the --environment argument.

  • You can pass the information on the command line using system properties. In this case, all environment property names should be prefixed with jboss.server.migration..

Domain Configuration File Migration

When migrating the domain configuration, the JBoss Server Migration Tool first copies the source configuration files to the target server. It then updates the configuration to not only work correctly in the target server, but also to take advantage of the target server’s new functionality. The following is the lists of tasks performed by the tool during the migration:

Remove Unsupported Subsystems from the Domain Configuration

The following JBoss EAP 6.4 subsystems are not supported by JBoss EAP 7:

Subsystem Name

Configuration Namespace

Extension Modue

cmp

urn:jboss:domain:cmp:*

org.jboss.as.cmp

configadmin

urn:jboss:domain:configadmin:*

org.jboss.as.configadmin

jaxr

urn:jboss:domain:jaxr:*

org.jboss.as.jaxr

osgi

urn:jboss:domain:osgi:*

org.jboss.as.osgi

threads

urn:jboss:domain:threads:*

org.jboss.as.threads

All unsupported subsystems configurations and extensions are removed from migrated server configurations.

The console indicates which unsupported subsystem configurations and extensions are removed from each domain configuration:

INFO  [org.jboss.migration.core.ServerMigrationTask#314] (main) Unsupported extensions removed: [org.jboss.as.jaxr, org.jboss.as.threads, org.jboss.as.cmp, org.jboss.as.configadmin]
INFO  [org.jboss.migration.core.ServerMigrationTask#314] (main) Unsupported subsystems removed: [urn:jboss:domain:jaxr:1.1, urn:jboss:domain:configadmin:1.0, urn:jboss:domain:cmp:1.1, urn:jboss:domain:threads:1.1]

Migrate Modules Referenced by the Domain Configuration

A configuration that is migrated from a source server to a target server may reference or depend on a module that is not installed on the target server. The server migration tool detects this and automatically migrate the referenced modules, plus their dependent modules, from the source server as well.

A module is migrated when it is referenced by:

  • A security-realm configuration, as plug-in(s) module //TODO: Check with Eduardo

  • A datasource subsystem configuration, as datasource driver(s) module

  • An ee subsystem configuration, as a global module

  • A naming subsystem configuration, as an Object Factory module

  • A messaging subsystem configuration, as JMS Bridge module

The console logs a message noting the module ID for any module that is migrated, for example:

INFO  [org.jboss.migration.core.task.ServerMigrationTask#19] (main) Module cmtool.datasources:main migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#20] (main) Module cmtool.ee1:main migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#21] (main) Module cmtool.ee2:main migrated.
INFO  [org.jboss.migration.core.task.ServerMigrationTask#22] (main) Module cmtool.naming:main migrated.

It is possible to exclude the migration of specific modules by specifying the id(s) in the environment property named modules.excludes.

Migrate the Domain Configuration's jacorb Subsystem

The jacorb subsystem is deprecated in JBoss EAP 7 and is replaced by the iiop-openjdk subsystem.

By default, the JBoss Server Migration Tool automatically migrates the jacorb subsystem configuration to its replacement iiop-openjdk subsystem configuration. If you prefer, you can set the subsystem.jacorb.migrate.skip environment property value to true to skip automatic update of the iiop-openjdk subsystem configuration.

The legacy subsystem migration is done without requiring any interaction from the user. Any issues encountered during the migration are written to the log files and displayed in the migration console.

Upon successful migration of the legacy jacorb subsystem configuration, you should see the following messages in the console:

INFO  [org.jboss.migration.core.ServerMigrationTask#331] (main) Migrating subsystem jacorb configurations...
INFO  [org.jboss.migration.core.ServerMigrationTask#332] (main) Subsystem config /profile=full-ha/subsystem=jacorb migrated.
INFO  [org.jboss.migration.core.ServerMigrationTask#335] (main) Subsystem config /profile=full/subsystem=jacorb migrated.
INFO  [org.jboss.migration.core.ServerMigrationTask#336] (main) Extension org.jboss.as.jacorb removed.
INFO  [org.jboss.migration.core.ServerMigrationTask#331] (main) Subsystem jacorb configurations migrated.

4. Migrate the Domain Configuration's web Subsystem

The web subsystem is deprecated in JBoss EAP 7 and is replaced by the undertow subystem. The JBoss Server Migration Tool automatically migrates the web subsystem configuration to its replacement undertow subsystem configuration.

The legacy subsystem migration is done without requiring any interaction from the user. Any issues encountered during the migration result in messages written to the tool's log files and displayed in the migration console. Upon successful migration of the legacy web subsystem configuration, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#337] (main) Migrating subsystem web configurations...
INFO [org.jboss.migration.core.ServerMigrationTask#338] (main) Subsystem config /profile=full-ha/subsystem=web migrated.
INFO [org.jboss.migration.core.ServerMigrationTask#339] (main) Subsystem config /profile=default/subsystem=web migrated.
INFO [org.jboss.migration.core.ServerMigrationTask#340] (main) Subsystem config /profile=ha/subsystem=web migrated.
INFO [org.jboss.migration.core.ServerMigrationTask#341] (main) Subsystem config /profile=full/subsystem=web migrated.
INFO [org.jboss.migration.core.ServerMigrationTask#342] (main) Extension org.jboss.as.web removed.
INFO [org.jboss.migration.core.ServerMigrationTask#337] (main) Subsystem web configurations migrated.

Note: You can configure the migration environment to skip the web subsystem migration by setting the subsystem.web.migrate.skip environment property value to true.

4. Migrate the Domain Configuration's messaging Subsystem

The messaging subsystem is deprecated in JBoss EAP 7 and is replaced by the messaging-activemq subsystem. The JBoss Server Migration Tool automatically migrates the messaging subsystem configuration to its replacement messaging-activemq subsystem configuration.

The legacy subsystem migration is done without requiring any interaction from the user. Any issues encountered during the migration result in messages written to the tool's log files and displayed in the migration console. Upon successful migration of the legacy messaging subsystem configuration, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#343] (main) Migrating subsystem messaging configurations...
INFO [org.jboss.migration.core.ServerMigrationTask#344] (main) Subsystem config /profile=full-ha/subsystem=messaging migrated.
INFO [org.jboss.migration.core.ServerMigrationTask#347] (main) Subsystem config /profile=full/subsystem=messaging migrated.
INFO [org.jboss.migration.core.ServerMigrationTask#348] (main) Extension org.jboss.as.messaging removed.
INFO [org.jboss.migration.core.ServerMigrationTask#343] (main) Subsystem messaging configurations migrated.

Note: You can configure the migration environment to skip the messaging subsystem migration by setting the subsystem.messaging.migrate.skip environment property value to true.

Update the Domain Configuration's infinispan Subsystem

The JBoss Server Migration Tool makes the following updates to the infinispan subsystem configuration to better match the JBoss EAP 7 default configurations.

  • Adds the ejb cache, which is present in the JBoss EAP 7 default configuration.

  • Adds the server cache, which is present in the JBoss EAP 7 default configuration.

  • Fixes the module name in the hibernate cache configuration.

By default, the tool automatically updates the infinispan subsystem configuration to include these changes. If you prefer, you can configure the environment properties to customize the process of updating the infinispan subsystem configuration.

Property Name

Property Description

subsystem.infinispan.update.skip

If set to true, the tool skips the update of the infinispan subsystem.

subsystem.infinispan.update.add-infinispan-ejb-cache.skip

If set to true, the tool does not add the ejb cache.

subsystem.infinispan.update.add-infinispan-server-cache.skip

If set to true, the tool does not add the server cache.

subsystem.infinispan.update.fix-hibernate-cache-module-name.skip

If set to true, the tool does not fix the module name in the hibernate cache configuration.

Upon successful migration of the infinispan subsystem configuration, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#349] (main) Updating subsystem infinispan configurations...
INFO [org.jboss.migration.core.ServerMigrationTask#349] (main) Updating subsystem /profile=full-ha/subsystem=infinispan configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#350] (main) Server cache added to Infinispan subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#352] (main) Infinispan subsystem's cache hibernate 'module' attribute updated to org.hibernate.infinispan.
INFO [org.jboss.migration.core.ServerMigrationTask#349] (main) Subsystem /profile=full-ha/subsystem=infinispan configuration updated.
INFO [org.jboss.migration.core.ServerMigrationTask#349] (main) Updating subsystem /profile=default/subsystem=infinispan configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#353] (main) Server cache added to Infinispan subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#354] (main) Ejb cache added to Infinispan subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#355] (main) Infinispan subsystem's cache hibernate 'module' attribute updated to org.hibernate.infinispan.
INFO [org.jboss.migration.core.ServerMigrationTask#349] (main) Subsystem /profile=default/subsystem=infinispan configuration updated.
INFO [org.jboss.migration.core.ServerMigrationTask#349] (main) Updating subsystem /profile=ha/subsystem=infinispan configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#356] (main) Server cache added to Infinispan subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#358] (main) Infinispan subsystem's cache hibernate 'module' attribute updated to org.hibernate.infinispan.
INFO [org.jboss.migration.core.ServerMigrationTask#349] (main) Subsystem /profile=ha/subsystem=infinispan configuration updated.
INFO [org.jboss.migration.core.ServerMigrationTask#349] (main) Updating subsystem /profile=full/subsystem=infinispan configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#359] (main) Server cache added to Infinispan subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#360] (main) Ejb cache added to Infinispan subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#361] (main) Infinispan subsystem's cache hibernate 'module' attribute updated to org.hibernate.infinispan.
INFO [org.jboss.migration.core.ServerMigrationTask#349] (main) Subsystem /profile=full/subsystem=infinispan configuration updated.
INFO [org.jboss.migration.core.ServerMigrationTask#349] (main) Subsystem infinispan configurations updated.

Update the Domain Configuration's ee Subsystem

The ee Subsystem in JBoss EAP 7 provides support for new Java EE 7 features.

  • You can configure instances of Java EE 7 concurrency utilities, such as container-managed Executors.

  • You can define the Java EE 7 default resources, such as the default data source, by specifying the original JNDI addresses.

By default, the tool updates the ee subsystem configuration to include the new features. If you prefer, you can configure the environment properties to customize the process of updating the ee subsystem configuration.

Property Name

Property Description

subsystem.ee.update.skip

If set to true, the tool skips the update of the ee subsystem.

subsystem.ee.update.setup-ee-concurrency-utilities.skip

If set to true, the tool does not add the default instances of concurrency utilities

subsystem.ee.update.setup-javaee7-default-bindings.skip

If set to true, the tool does not set up Java EE 7 default resources.

subsystem.ee.update.setup-javaee7-default-bindings.defaultDataSourceName

Specifies the name of the default data source to look for in the source configuration.

subsystem.ee.update.setup-javaee7-default-bindings.defaultDataSourceJndiName

Specifies the JNDI name for the default data source.

subsystem.ee.update.setup-javaee7-default-bindings.defaultJmsConnectionFactoryName

Specifies the name of the JMS connection factory} for the default data source.

subsystem.ee.update.setup-javaee7-default-bindings.defaultJmsConnectionFactoryJndiName

Specifies the JNDI name for the default JMS connection factory.

JNDI names that are specified are assumed to be valid. JNDI names are not validated by the tool.

For concurrency utilities instances, the tool automatically configures the exact same instances that are present in all JBoss EAP 7 default configurations and does not require any user interaction. The log simply indicates the instances were added:

INFO  [org.jboss.migration.core.ServerMigrationTask#21] (main) Default ContextService added to EE subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#21] (main) Default ManagedThreadFactory added to EE subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#21] (main) Default ManagedExecutorService added to EE subsystem configuration.
INFO  [org.jboss.migration.core.ServerMigrationTask#21] (main) Default ManagedScheduledExecutorService added to EE subsystem configuration.

When defining Java EE 7 default resources, by default the tool looks for the resources present in default JBoss EAP 6 configurations and select these if present.

INFO  [org.jboss.migration.core.ServerMigrationTask#76] (main) Java EE Default Datasource configured with JNDI name java:jboss/datasources/ExampleDS.

In the case where the tool does not find such resources, then user input is required. The tool lists all available resources in the configuration, and then asks the user to select the one that should be set as the default, or to manually provide the JNDI address of the original resource. The following is an example of the interaction that occurs when migrating a configuration file with two configured data sources, ExampleDS1 and ExampleDS2 and defining the default data source:

INFO  [org.jboss.migration.core.ServerMigrationTask#22] (main) Default datasource not found.
0. ExampleDS
1. Unconfigured data source, I want to enter the JNDI name...
Please select Java EE's Default Datasource: (0): 0
INFO  [org.jboss.migration.core.ServerMigrationTask#22] (main) Java EE Default Datasource configured with JNDI name java:jboss/datasources/ExampleDS.

Save this Java EE Default Datasource JNDI name and use it when migrating other config files?
yes/no? y

Note that if you run the migration tool in non-interactive mode and the expected JBoss EAP 6 default resources are not available, for example the default JMS connection factory, the tool will not configure those resources.

Update the Domain Configuration's ejb3 Subsystem

The JBoss Server Migration Tool makes the following updates to the ejb3 subsystem configuration to better match the JBoss EAP 7 default configurations.

  • The remote service configuration is updated to reference the new HTTP connector.

  • The default-sfsb-passivation-disabled-cache attribute is configured to use the efault-sfsb-cache.

  • Legacy passivation store and cache configurations are replaced with the JBoss EAP 7 defaults.

By default, the tool updates the ejb3 subsystem configuration to include these changes. If you prefer, you can configure the environment properties to customize the process of updating the ejb3 subsystem configuration.

Property Name

Property Description

subsystem.ejb3.update.skip

If set to true, the tool skips the update of the ejb3 subsystem.

subsystem.ejb3.update.add-infinispan-passivation-store-and-distributable-cache.skip

If set to true, the tool does not replace the passivation_store and cache configurations.

subsystem.ejb3.update.setup-default-sfsb-passivation-disabled-cache.skip

If set to true, the tool does not update the default-sfsb-passivation-disabled-cache configuration.

subsystem.ejb3.update.activate-ejb3-remoting-http-connector.skip

If set to true, the tool does not update the EJB Remoting configuration.

Upon successful migration of the ejb3 subsystem configuration, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#371] (main) Updating subsystem ejb3 configurations...
INFO [org.jboss.migration.core.ServerMigrationTask#371] (main) Updating subsystem /profile=full-ha/subsystem=ejb3 configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#372] (main) EJB3 subsystem's remote service configured to use HTTP Remoting connector.
INFO [org.jboss.migration.core.ServerMigrationTask#374] (main) Legacy file passivation store removed from EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#374] (main) Legacy 'clustered' passivation store removed from EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#374] (main) Infinispan passivation store added to EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#374] (main) Legacy 'passivating' cache removed from EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#374] (main) Legacy 'clustered' cache removed from EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#374] (main) Distributable cache added to EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#371] (main) Subsystem /profile=full-ha/subsystem=ejb3 configuration updated.
INFO [org.jboss.migration.core.ServerMigrationTask#371] (main) Updating subsystem /profile=default/subsystem=ejb3 configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#375] (main) EJB3 subsystem's remote service configured to use HTTP Remoting connector.
INFO [org.jboss.migration.core.ServerMigrationTask#376] (main) EJB3 subsystem's 'default-sfsb-passivation-disabled-cache' attribute set to simple.
INFO [org.jboss.migration.core.ServerMigrationTask#377] (main) Legacy file passivation store removed from EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#377] (main) Infinispan passivation store added to EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#377] (main) Legacy 'passivating' cache removed from EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#377] (main) Distributable cache added to EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#371] (main) Subsystem /profile=default/subsystem=ejb3 configuration updated.
INFO [org.jboss.migration.core.ServerMigrationTask#371] (main) Updating subsystem /profile=ha/subsystem=ejb3 configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#378] (main) EJB3 subsystem's remote service configured to use HTTP Remoting connector.
INFO [org.jboss.migration.core.ServerMigrationTask#380] (main) Legacy file passivation store removed from EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#380] (main) Legacy 'clustered' passivation store removed from EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#380] (main) Infinispan passivation store added to EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#380] (main) Legacy 'passivating' cache removed from EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#380] (main) Legacy 'clustered' cache removed from EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#380] (main) Distributable cache added to EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#371] (main) Subsystem /profile=ha/subsystem=ejb3 configuration updated.
INFO [org.jboss.migration.core.ServerMigrationTask#371] (main) Updating subsystem /profile=full/subsystem=ejb3 configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#381] (main) EJB3 subsystem's remote service configured to use HTTP Remoting connector.
INFO [org.jboss.migration.core.ServerMigrationTask#382] (main) EJB3 subsystem's 'default-sfsb-passivation-disabled-cache' attribute set to simple.
INFO [org.jboss.migration.core.ServerMigrationTask#383] (main) Legacy file passivation store removed from EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#383] (main) Infinispan passivation store added to EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#383] (main) Legacy 'passivating' cache removed from EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#383] (main) Distributable cache added to EJB3 subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#371] (main) Subsystem /profile=full/subsystem=ejb3 configuration updated.
INFO [org.jboss.migration.core.ServerMigrationTask#371] (main) Subsystem ejb3 configurations updated.

Update the Domain Configuration's remoting Subsystem

One of the most relevant features introduced by JBoss EAP 7 is the new HTTP connector, a connector that is able to replace all legacy remoting protocols and ports, using a single port. The HTTP Connector is configured in the remoting subsystem and the tool simply updates the subsystem configuration to activate it.

By default, the tool automatically updates the remoting subsystem. If you prefer, you can set the subsystem.remoting.update.skip environment property to true to skip automatic update of the remoting subsystem configuration.

Upon successful migration of the remoting subsystem configuration, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#384] (main) Updating subsystem remoting configurations...
INFO [org.jboss.migration.core.ServerMigrationTask#384] (main) Updating subsystem /profile=full-ha/subsystem=remoting configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#385] (main) Http connector http-remoting-connector added to Remoting subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#384] (main) Subsystem /profile=full-ha/subsystem=remoting configuration updated.
INFO [org.jboss.migration.core.ServerMigrationTask#384] (main) Updating subsystem /profile=default/subsystem=remoting configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#386] (main) Http connector http-remoting-connector added to Remoting subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#384] (main) Subsystem /profile=default/subsystem=remoting configuration updated.
INFO [org.jboss.migration.core.ServerMigrationTask#384] (main) Updating subsystem /profile=ha/subsystem=remoting configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#387] (main) Http connector http-remoting-connector added to Remoting subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#384] (main) Subsystem /profile=ha/subsystem=remoting configuration updated.
INFO [org.jboss.migration.core.ServerMigrationTask#384] (main) Updating subsystem /profile=full/subsystem=remoting configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#388] (main) Http connector http-remoting-connector added to Remoting subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#384] (main) Subsystem /profile=full/subsystem=remoting configuration updated.
INFO [org.jboss.migration.core.ServerMigrationTask#384] (main) Subsystem remoting configurations updated.

Update the Domain Configuration's undertow Subsystem

In addition to migrating the web subsystem to JBoss EAP 7, the JBoss Server Migration Tool adds the following functionality provided by the new undertow subsystem, which is configured in the JBoss EAP 7 default standalone configuration files.

  • Sets the default HTTP Listener redirect socket.

  • Adds support for Java EE 7 Websockets.

  • Sets the default Server response header.

  • Sets the default X-Powered-By response header.

By default, the tool automatically updates the undertow subsystem configuration to include these changes. If you prefer, you can configure the environment properties to customize the process of updating the undertow subsystem configuration.

Property Name

Property Description

subsystem.undertow.update.skip

If set to true, the tool skips the update of the undertow subsystem.

subsystem.undertow.update.set-default-http-listener-redirect-socket.skip

If set to true, the tool does not set the default HTTP Listener redirect socket.

subsystem.undertow.update.add-undertow-websockets.skip

If set to true, the tool does not add support for WebSockets.

subsystem.undertow.update.add-response-header.server-header.skip

If set to true, the tool does not set the default Server response header.

subsystem.undertow.update.add-response-header.x-powered-by-header.skip

f set to true, the tool does not set the default X-Powered-By response header.

Upon successful migration of the undertow subsystem configuration, you should see the following messages in the console:

INFO [org.jboss.migration.core.task.ServerMigrationTask#436] (main) Undertow's default HTTP listener 'redirect-socket' set as 'https'.
INFO [org.jboss.migration.core.task.ServerMigrationTask#437] (main) Undertow's default Servlet Container configured to support Websockets.
INFO [org.jboss.migration.core.task.ServerMigrationTask#438] (main) Response header 'server-header' set as 'Server: JBoss-EAP/7' in Undertow's config /profile=full/subsystem=undertow
INFO [org.jboss.migration.core.task.ServerMigrationTask#439] (main) Response header 'x-powered-by-header' set as 'X-Powered-By: Undertow/1' in Undertow's config /profile=full/subsystem=undertow
INFO [org.jboss.migration.core.task.ServerMigrationTask#441] (main) Undertow's default HTTP listener 'redirect-socket' set as 'https'.
INFO [org.jboss.migration.core.task.ServerMigrationTask#442] (main) Undertow's default Servlet Container configured to support Websockets.
INFO [org.jboss.migration.core.task.ServerMigrationTask#443] (main) Response header 'server-header' set as 'Server: JBoss-EAP/7' in Undertow's config /profile=ha/subsystem=undertow
INFO [org.jboss.migration.core.task.ServerMigrationTask#444] (main) Response header 'x-powered-by-header' set as 'X-Powered-By: Undertow/1' in Undertow's config /profile=ha/subsystem=undertow
INFO [org.jboss.migration.core.task.ServerMigrationTask#446] (main) Undertow's default HTTP listener 'redirect-socket' set as 'https'.
INFO [org.jboss.migration.core.task.ServerMigrationTask#447] (main) Undertow's default Servlet Container configured to support Websockets.
INFO [org.jboss.migration.core.task.ServerMigrationTask#448] (main) Response header 'server-header' set as 'Server: JBoss-EAP/7' in Undertow's config /profile=full-ha/subsystem=undertow
INFO [org.jboss.migration.core.task.ServerMigrationTask#449] (main) Response header 'x-powered-by-header' set as 'X-Powered-By: Undertow/1' in Undertow's config /profile=full-ha/subsystem=undertow
INFO [org.jboss.migration.core.task.ServerMigrationTask#451] (main) Undertow's default HTTP listener 'redirect-socket' set as 'https'.
INFO [org.jboss.migration.core.task.ServerMigrationTask#452] (main) Undertow's default Servlet Container configured to support Websockets.
INFO [org.jboss.migration.core.task.ServerMigrationTask#453] (main) Response header 'server-header' set as 'Server: JBoss-EAP/7' in Undertow's config /profile=default/subsystem=undertow
INFO [org.jboss.migration.core.task.ServerMigrationTask#454] (main) Response header 'x-powered-by-header' set as 'X-Powered-By: Undertow/1' in Undertow's config /profile=default/subsystem=undertow

Update the Domain Configuration's messaging-activemq Subsystem

In addition to migrating the messaging subsystem to JBoss EAP 7, the JBoss Server Migration Tool also adds the following new functionality provided by the messaging-activemq subsystems, which is configured in the JBoss EAP 7 default standalone configuration files.

  • Adds the default HTTP connector and acceptor, enabling the new HTTP-based remote messaging clients.

By default, the tool automatically configures the messaging-activemq subsystem. If you prefer, you can set the subsystem.messaging-activemq.update.skip environment property to true to skip automatic configuration of the messaging-activemq subsystem.

Upon successful migration of the messaging-activemq subsystem configuration, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#402] (main) Updating subsystem messaging-activemq configurations...
INFO [org.jboss.migration.core.ServerMigrationTask#402] (main) Updating subsystem /profile=full-ha/subsystem=messaging-activemq configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#403] (main) HTTP Acceptor named http-acceptor added to Messaging ActiveMQ subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#403] (main) HTTP Connector named http-connector added to Messaging ActiveMQ subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#402] (main) Subsystem /profile=full-ha/subsystem=messaging-activemq configuration updated.
INFO [org.jboss.migration.core.ServerMigrationTask#402] (main) Updating subsystem /profile=full/subsystem=messaging-activemq configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#406] (main) HTTP Acceptor named http-acceptor added to Messaging ActiveMQ subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#406] (main) HTTP Connector named http-connector added to Messaging ActiveMQ subsystem configuration.
INFO [org.jboss.migration.core.ServerMigrationTask#402] (main) Subsystem /profile=full/subsystem=messaging-activemq configuration updated.
INFO [org.jboss.migration.core.ServerMigrationTask#402] (main) Subsystem messaging-activemq configurations updated.

Add the batch-jberet Subsystem to the Domain Configuration

The JBoss EAP 7 batch-jberet subsystem provides support for JSR 352: Batch Applications for the Java Platform. Its default configuration is automatically added to the migrated configuration file unless the environment property named subsystem.batch-jberet.add.skip is set to true.

The subsystem and related extension are added without any interaction required by the user. Upon successful addition of the batch-jberet subsystem configuration, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#408] (main) Extension org.wildfly.extension.batch.jberet added.
INFO [org.jboss.migration.core.ServerMigrationTask#409] (main) Subsystem config /profile=full-ha/subsystem=batch-jberet added.
INFO [org.jboss.migration.core.ServerMigrationTask#410] (main) Subsystem config /profile=default/subsystem=batch-jberet added.
INFO [org.jboss.migration.core.ServerMigrationTask#411] (main) Subsystem config /profile=ha/subsystem=batch-jberet added.
INFO [org.jboss.migration.core.ServerMigrationTask#412] (main) Subsystem config /profile=full/subsystem=batch-jberet added.

Add the request-controller Subsystem to the Domain Configuration

The JBoss EAP 7 request-controller subsystem provides congestion control and graceful shutdown functionalities. Its default configuration is automatically added to the migrated configuration file, unless the environment property named subsystem.request-controller.add.skip is set to true.

The subsystem, and related extension are added without any interaction required by the user. Upon successful addition of the request-controller subsystem configuration, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#414] (main) Extension org.wildfly.extension.request-controller added.
INFO [org.jboss.migration.core.ServerMigrationTask#415] (main) Subsystem config /profile=full-ha/subsystem=request-controller added.
INFO [org.jboss.migration.core.ServerMigrationTask#416] (main) Subsystem config /profile=default/subsystem=request-controller added.
INFO [org.jboss.migration.core.ServerMigrationTask#417] (main) Subsystem config /profile=ha/subsystem=request-controller added.
INFO [org.jboss.migration.core.ServerMigrationTask#418] (main) Subsystem config /profile=full/subsystem=request-controller added.

Add the security-manager Subsystem to the Domain Configuration

The JBoss EAP 7 security-manager subsystem provides the support for Java EE 7 security permissions. Its default configuration is added to the migrated configuration file, unless the environment property named subsystem.security-manager.add.skip is set to true.

The subsystem and related extension are added without any interaction required by the user. Upon successful addition of the security-manager subsystem configuration, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#420] (main) Extension org.wildfly.extension.security.manager added.
INFO [org.jboss.migration.core.ServerMigrationTask#421] (main) Subsystem config /profile=full-ha/subsystem=security-manager added.
INFO [org.jboss.migration.core.ServerMigrationTask#422] (main) Subsystem config /profile=default/subsystem=security-manager added.
INFO [org.jboss.migration.core.ServerMigrationTask#423] (main) Subsystem config /profile=ha/subsystem=security-manager added.
INFO [org.jboss.migration.core.ServerMigrationTask#424] (main) Subsystem config /profile=full/subsystem=security-manager added.

Add the singleton Subsystem to the Domain Configuration

As its name indicates, the JBoss EAP 7 singleton subsystem provides the singleton functionality. Its default configuration is automatically added to the migrated configuration file, unless the environment property named subsystem.singleton.add.skip is set to true.

The subsystem and related extension are added without any interaction required by the user. Upon successful addition of the singleton subsystem configuration, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#426] (main) Extension org.wildfly.extension.clustering.singleton added.
INFO [org.jboss.migration.core.ServerMigrationTask#427] (main) Subsystem config /profile=full-ha/subsystem=singleton added.
INFO [org.jboss.migration.core.ServerMigrationTask#428] (main) Subsystem config /profile=default/subsystem=singleton added.
INFO [org.jboss.migration.core.ServerMigrationTask#429] (main) Subsystem config /profile=ha/subsystem=singleton added.
INFO [org.jboss.migration.core.ServerMigrationTask#430] (main) Subsystem config /profile=full/subsystem=singleton added.

Update the Domain Configuration's Unsecure Interface

The tool updates the unsecure interface configuration to match JBoss EAP 7 default configurations.

By default, the tool automatically updates the unsecure interface configuration. If you prefer, you can set the interface.unsecure.update.skip environment property to true to skip the automatic update of the unsecure interface.

Upon successful update of the unsecure interface configuration, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#432] (main) Interface unsecure inet address value set as ${jboss.bind.address.unsecure:127.0.0.1}.

Set Up the Domain Configuration's Private Interface

The JBoss EAP 7 default configuration uses a new private interface on all jgroups socket bindings. The JBoss Server Migration Tool automatically updates the migrated jgroups socket bindings to use same configuration. If you prefer to skip the configuration of the private interface, set the environment property named interface.private.setup.skip to true.

Upon successful configuration of the private interface, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#434] (main) Interface private added.
INFO [org.jboss.migration.core.ServerMigrationTask#436] (main) Socket binding /socket-binding-group=full-ha-sockets/socket-binding=jgroups-mping interface set to private
INFO [org.jboss.migration.core.ServerMigrationTask#436] (main) Socket binding /socket-binding-group=full-ha-sockets/socket-binding=jgroups-tcp interface set to private
INFO [org.jboss.migration.core.ServerMigrationTask#436] (main) Socket binding /socket-binding-group=full-ha-sockets/socket-binding=jgroups-tcp-fd interface set to private
INFO [org.jboss.migration.core.ServerMigrationTask#436] (main) Socket binding /socket-binding-group=full-ha-sockets/socket-binding=jgroups-udp interface set to private
INFO [org.jboss.migration.core.ServerMigrationTask#436] (main) Socket binding /socket-binding-group=full-ha-sockets/socket-binding=jgroups-udp-fd interface set to private
INFO [org.jboss.migration.core.ServerMigrationTask#438] (main) Socket binding /socket-binding-group=ha-sockets/socket-binding=jgroups-mping interface set to private
INFO [org.jboss.migration.core.ServerMigrationTask#438] (main) Socket binding /socket-binding-group=ha-sockets/socket-binding=jgroups-tcp interface set to private
INFO [org.jboss.migration.core.ServerMigrationTask#438] (main) Socket binding /socket-binding-group=ha-sockets/socket-binding=jgroups-tcp-fd interface set to private
INFO [org.jboss.migration.core.ServerMigrationTask#438] (main) Socket binding /socket-binding-group=ha-sockets/socket-binding=jgroups-udp interface set to private
INFO [org.jboss.migration.core.ServerMigrationTask#438] (main) Socket binding /socket-binding-group=ha-sockets/socket-binding=jgroups-udp-fd interface set to private

Add Socket Binding Port Expressions to the Domain Configuration

The JBoss EAP 7 default configurations use value expressions for the port attribute of the following socket bindings:

  • ajp

  • http

  • https

By default, the JBoss Server Migration Tool adds these value expressions to the migrated JBoss EAP 6.4 configurations. If you prefer to skip update of the socket binding port expressions, set the socket-bindings.add-port-expressions.skip environment property to true.

Upon successful configuration of the socket binding port expressions, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#440] (main) Adding socket binding's port expressions...
INFO [org.jboss.migration.core.ServerMigrationTask#441] (main) Socket binding /socket-binding-group=full-ha-sockets/socket-binding=ajp port value expression set as ${jboss.ajp.port:8009}.
INFO [org.jboss.migration.core.ServerMigrationTask#442] (main) Socket binding /socket-binding-group=full-ha-sockets/socket-binding=http port value expression set as ${jboss.http.port:8080}.
INFO [org.jboss.migration.core.ServerMigrationTask#443] (main) Socket binding /socket-binding-group=full-ha-sockets/socket-binding=https port value expression set as ${jboss.https.port:8443}.
INFO [org.jboss.migration.core.ServerMigrationTask#444] (main) Socket binding /socket-binding-group=standard-sockets/socket-binding=ajp port value expression set as ${jboss.ajp.port:8009}.
INFO [org.jboss.migration.core.ServerMigrationTask#445] (main) Socket binding /socket-binding-group=standard-sockets/socket-binding=http port value expression set as ${jboss.http.port:8080}.
INFO [org.jboss.migration.core.ServerMigrationTask#446] (main) Socket binding /socket-binding-group=standard-sockets/socket-binding=https port value expression set as ${jboss.https.port:8443}.
INFO [org.jboss.migration.core.ServerMigrationTask#447] (main) Socket binding /socket-binding-group=ha-sockets/socket-binding=ajp port value expression set as ${jboss.ajp.port:8009}.
INFO [org.jboss.migration.core.ServerMigrationTask#448] (main) Socket binding /socket-binding-group=ha-sockets/socket-binding=http port value expression set as ${jboss.http.port:8080}.
INFO [org.jboss.migration.core.ServerMigrationTask#449] (main) Socket binding /socket-binding-group=ha-sockets/socket-binding=https port value expression set as ${jboss.https.port:8443}.
INFO [org.jboss.migration.core.ServerMigrationTask#450] (main) Socket binding /socket-binding-group=full-sockets/socket-binding=ajp port value expression set as ${jboss.ajp.port:8009}.
INFO [org.jboss.migration.core.ServerMigrationTask#451] (main) Socket binding /socket-binding-group=full-sockets/socket-binding=http port value expression set as ${jboss.http.port:8080}.
INFO [org.jboss.migration.core.ServerMigrationTask#452] (main) Socket binding /socket-binding-group=full-sockets/socket-binding=https port value expression set as ${jboss.https.port:8443}.
INFO [org.jboss.migration.core.ServerMigrationTask#440] (main) Socket binding's port expressions added.

Remove the Domain Configuration's Permgen Attributes From the JVMs

The usage of Permgen attributes in JVM configurations is deprecated in JBoss EAP 7 and the JBoss Migration Tool removes these from all JVM configurations for all server groups.

By default, the JBoss Server Migration Tool automatically removes the Permgen attributes from the JVM configurations. If you prefer, you can set the jvms.remove-permgen-attributes.skip environment property value to true to skip the automatic removal.

Upon successful removal of the Permgen attributes, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#453] (main) Removal of permgen attributes from JVM configs starting...
INFO [org.jboss.migration.core.ServerMigrationTask#454] (main) Permgen removed from JVM /server-group=main-server-group/jvm=default
INFO [org.jboss.migration.core.ServerMigrationTask#455] (main) Permgen removed from JVM /server-group=other-server-group/jvm=default
INFO [org.jboss.migration.core.ServerMigrationTask#453] (main) Removal of permgen attributes from JVM configs done.

Migrate the Domain Configuration's Deployments

The JBoss Server Migration Tool is able to migrate the following types of deployment configurations for managed domains.

  • Deployments it references, also known as persistent deployments.

  • Deployment overlays it references.

The migration of a deployment or deployment overlay merely consists of installing related file resources on the target server, and possibly updating the migrated configuration. The tool will not assert if these resources are compatible with the target server, which means it might not deploy or work as expected, or might not deploy or work at all. Red Hat recommends that you use JBoss Windup to analyze a deployment with respect to compatibility among different JBoss EAP servers.

Migrate the Domain Configuration's Persistent Deployments

When migrating a managed domain configuration, the migration tool searches for any persistent deployments references, and prints the results in the console:

INFO [org.jboss.migration.core.task.Task#74] (main) Persistent deployments found: [cmtool-helloworld3.war, cmtool-helloworld4.war, cmtool-helloworld2.war, cmtool-helloworld1.war|cmtool-helloworld3.war, cmtool-helloworld4.war, cmtool-helloworld2.war, cmtool-helloworld1.war]

If you run the migration tool in non-interactive mode, the JBoss Server Migration Tool migrates all listed deployments.

If you run the migration tool in interactive mode, you see the following prompt:

Migrate all persistent deployments found?
yes/no? y
  • If you reply yes, or y, all persistent deployments that were found are migrated.

  • If you reply no, or n, you receive a prompt asking to confirm the migration for each listed deployment:

    Migrate persistent deployment 'cmtool-helloworld3.war'?
    yes/no?
  • If you reply yes, or y, the deployment is migrated.

  • If you reply no, or n, all references to the deployment are removed from the domain configuration.

INFO [org.jboss.migration.core.task.ServerMigrationTask#555] (main) Removed persistent deployment from server group /deployment=cmtool-helloworld4.war
INFO [org.jboss.migration.core.task.ServerMigrationTask#555] (main) Removed persistent deployment from configuration /deployment=cmtool-helloworld4.war
Migrate the Domain Configuration's Deployment Overlays

The migration of deployment overlays is a fully automated process. The migration tool searches for deployment overlays referenced in the standalone server configuration. It then migrates those that are linked to deployments that were migrated.

The migration tool prints a message to the console for each deployment overlay that is migrated or removed.

INFO [org.jboss.migration.core.task.ServerMigrationTask#559] (main) Deployment overlays found: [overlay4, overlay1, overlay2, overlay3]
INFO [org.jboss.migration.core.task.ServerMigrationTask#559] (main) Migrating deployment overlay 'overlay4', it's linked to deployment cmtool-helloworld2.war
INFO [org.jboss.migration.core.task.ServerMigrationTask#560] (main) Removed deployment overlay from server group /deployment-overlay=overlay1
INFO [org.jboss.migration.core.task.ServerMigrationTask#560] (main) Removed deployment overlay from server group /deployment-overlay=overlay1
INFO [org.jboss.migration.core.task.ServerMigrationTask#560] (main) Removed deployment overlay from configuration /deployment-overlay=overlay1
INFO [org.jboss.migration.core.task.ServerMigrationTask#561] (main) Removed deployment overlay from server group /deployment-overlay=overlay2
INFO [org.jboss.migration.core.task.ServerMigrationTask#561] (main) Removed deployment overlay from configuration /deployment-overlay=overlay2
INFO [org.jboss.migration.core.task.ServerMigrationTask#559] (main) Migrating deployment overlay 'overlay3', it's linked to deployment cmtool-helloworld2.war

Host Configuration File Migration

When migrating the host configuration, the JBoss Server Migration Tool first copies the source configuration files to the target server. It then updates the configuration to not only work correctly in the target server, but also to take advantage of the target server’s new functionality. The following is the lists of tasks performed by the tool during the migration:

Migrate Modules Referenced by the Host Configuration

A configuration that is migrated from a source server to a target server may reference or depend on a module that is not installed on the target server. The server migration tool detects this and automatically migrate the referenced modules, plus their dependent modules, from the source server as well.

A module is migrated when it is referenced by:

  • A security-realm configuration, as plug-in(s) module //TODO: Check with Eduardo

The console logs a message noting the module ID for any module that is migrated, for example:

INFO [org.jboss.migration.core.task.ServerMigrationTask#18] (main) Module cmtool.security-realms:main migrated.

It is possible to exclude the migration of specific modules by specifying the id(s) in the environment property named modules.excludes.

Add the jmx Subsystem to the Host Configuration

The JBoss EAP 7 jmx subsystem provides the ability to manage and monitor systems. Its default configuration is automatically added to the migrated configuration file, unless the environment property named subsystem.jmx.add.skip is set to true.

The subsystem is added without any interaction required by the user. Upon successful addition of the jmx subsystem configuration, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#461] (main) Adding JMX subsystem configuration...
INFO [org.jboss.migration.core.ServerMigrationTask#462] (main) Extension org.jboss.as.jmx added.
INFO [org.jboss.migration.core.ServerMigrationTask#463] (main) Subsystem config /host=master/subsystem=jmx added.
INFO [org.jboss.migration.core.ServerMigrationTask#461] (main) JMX subsystem configuration added.

Remove the Unsecure Interface from the Host Configuration

The tool removes the unsecure interface configuration from all host configurations to match the JBoss EAP 7 default configuration. However, you can configure the tool to skip the removal of the unsecure interface by setting the interface.unsecure.remove.skip environment property value to true.

Upon successful removal of the unsecure interface configuration, you should see the following message in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#480] (main) Interface unsecure removed.

Set Up HTTP Upgrade Management for the Host Configuration

JBoss EAP 7 management clients use the new HTTP Upgrade mechanism. The JBoss Migration Tool makes all of configuration changes needed for clients to work properly with the migrated configuration. If you prefer to skip the configuration of HTTP Upgrade management, set the environment property named management.setup-http-upgrade.skip to true.

  • Enables the HTTP management interface's support for HTTP Upgrade.

The configuration changes are fully automated. Upon successful completion of the configuration, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#108] (main) Activated HTTP Management Interface's support for HTTP Upgrade.

The Migration Environment may be configured to skip the setup of HTTP Upgrade management, by setting environment property named management.setup-http-upgrade.skip as true.

Remove the Host Configuration's Permgen Attributes from the JVMs

The usage of Permgen attributes in JVM configurations is deprecated in JBoss EAP 7 and the JBoss Migration Tool removes these from all JVM configurations for all server groups.

By default, the JBoss Server Migration Tool automatically removes the Permgen attributes from the JVM configurations. If you prefer, you can set the jvms.remove-permgen-attributes.skip environment property value to true to skip the automatic removal.

Upon successful removal of the Permgen attributes, you should see the following messages in the console:

INFO [org.jboss.migration.core.ServerMigrationTask#483] (main) Removal of permgen attributes from JVM configs starting...
INFO [org.jboss.migration.core.ServerMigrationTask#484] (main) Permgen removed from JVM /host=eduardos-mini.lan/jvm=default
INFO [org.jboss.migration.core.ServerMigrationTask#483] (main) Removal of permgen attributes from JVM configs done.

Migrate the Host Configuration's Compatible Security Realms

Because the JBoss EAP 7 security realms configuration is fully compatible with the JBoss EAP 6.4 security realms configuration, they require no update by the JBoss Server Migration Tool. However, if the properties files are not referenced using an absolute path, the tool copies them to the path expected by the migrated configuration file.

This process is fully automated and requires no interaction by the user. To skip the security realms migration, set the security-realms.migrate-properties.skip environment property to true.

Upon successful migration of the security realms configuration, you should see the following messages in the console:

02:30:41,051 INFO [org.jboss.migration.core.ServerMigrationTask#485] (main) Migrating security realms...
02:30:41,055 INFO [org.jboss.migration.core.ServerMigrationTask#486] (main) Security realm ManagementRealm migrated.
02:30:41,059 INFO [org.jboss.migration.core.ServerMigrationTask#487] (main) Security realm ApplicationRealm migrated.
02:30:41,059 INFO [org.jboss.migration.core.ServerMigrationTask#485] (main) Security realms migration done.
JBoss.org Content Archive (Read Only), exported from JBoss Community Documentation Editor at 2020-03-11 11:38:37 UTC, last content change 2017-06-07 11:01:06 UTC.