2.3. Review The List of Deprecated and Unsupported Features

Before you migrate your application, be aware that some features that were available in previous releases of JBoss EAP may be deprecated or no longer supported. For a comprehensive list, see the Unsupported Features section of the Release Notes for JBoss EAP 6 located on the Customer Portal at https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/?version=6.4.
The following is a short summary of some of the unsupported features.
Server Startup -b Command Line Argument
In previous versions, JBoss EAP automatically used the address specified by the -b startup parameter, regardless of the IP address. In JBoss EAP 6, the server <inet-address> configuration looks for a network interface configured with a matching IP address. While this works for 127.0.0.1, it no longer works for 127.*.*.* IP adresses. If you start the JBoss EAP 6 server with the -b command line argument to bind to 127.*.*.* IP addresses, you must now first change the interface from <inet-address> to <loopback-address> in the server configuration file.
For information about how to configure the server using the Management CLI, see the section entitled Management CLI Operations in the Administration and Configuration Guide for JBoss Enterprise Application Platform located on the Customer Portal at https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/?version=6.4.
EJB Dependencies
In previous versions of JBoss EAP, EJB dependencies on a service or services, including other EJBs, could be specified using a <depends> tag in the jboss.xml deployment descriptor. For example:
<depends>jboss.j2ee:jndiName=com/myorg/app/Foo,service=EJB</depends>
<depends>jboss.mq.destination:service=Queue,name=queue/HelloworldQueue</depends>
In JBoss EAP 6, you must use the @EJB annotation to inject EJB references and the @Resource annotation to access datasources or other resources. For example:
@EJB(lookup="java:global/MyApp/FooImpl!com.myorg.app.Foo")
@Resource(mappedName = "java:/queue/HelloworldQueue")
JNDI lookups have also changed. See the section entitled JNDI Changes in this guide for details.
For more information about EJB references, see the section entitled EJB Reference Resolution in the Development Guide for JBoss Enterprise Application Platform located on the Customer Portal at https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/?version=6.4.
HTTPInvoker
In previous versions of JBoss EAP, it was possible to use the HTTPInvoker to configure an EJB, JNDI, or JMS to use the HTTP protocol. This is no longer possible in JBoss EAP 6.
HA Singleton Deployments and BarrierController Service
The HA SingletonService guarantees there is only one instance of a service running within the cluster.
JBoss EAP 5 provided support for multiple strategies for HA Singleton deployments, including the HASingletonDeployer service, POJO deployments using HASingletonController, and HASingleton deployments using the BarrierController Service. These strategies all relied on the HAPartition to provide notifications when different nodes in the cluster started and stopped and are no longer available.
In JBoss EAP 6, HA Singleton deployments have completely changed. The singleton deployer now operates on Modular Service Container (MSC) services only. Using a SingletonService, the target service is installed on every node in the cluster but is only started on one node at any given time. This approach simplifies the deployment requirements and minimizes the time required to relocate the singleton master service between nodes. However, it does require you write custom code to achieve the same functionality. An example of an HA Singleton deployment is included with the JBoss EAP quickstart example applications that ship with the product. For more information about HA Singletons, see Section 3.2.10.2, “Implement an HA Singleton” .
JAAS Security Manager Service
JBoss EAP 5 shipped with JAAS Security Manager, which provided data source password encryption services and configured identities with Password Based Encryption (PBE). This service is not included in JBoss EAP 6. JBoss EAP 6 recommends the use of a password vault for encrypting data source passwords. The password encryption algorithm used JBoss EAP 5 with the JAAS Security Manager Service is not compatible with the algorithm used when encrypting passwords using a password vault in JBoss EAP 6. Administrators will have to regenerate any passwords that were encrypted using Password Based Encryption in previous releases.
If you used the DynamicLoginConfig service to dynamically deploy credentials in previous versions of JBoss EAP, there is no similar method for dynamically deploying credentials in JBoss EAP 6. The ability to secure the vault password with something other than the globally known masked value is only available in JBoss EAP 6.4 or later.