3. What is detected

3.1 Introduction

The analysis performed by Spring Migration Analyzer can detect many different things about an application. Depending on the nature and complexity of an application, some or even all of the following may appear in a migration report.

3.2 API usage

Detects the usage of a variety of different APIs within the application's code.

The following APIs are detected:

  • EJB
    • javax.ejb.*
  • JBoss
    • org.jboss.*
  • JCA
    • javax.resource.*
  • JMS
    • javax.jms.*
  • JNDI
    • javax.naming.*
  • JPA
    • javax.persistence.*
  • JTA
    • javax.transaction.*
  • Spring's EJB integration
    • org.springframework.ejb.*
  • Spring's JNDI integration
    • org.springframework.jndi.*
  • WebLogic
    • weblogic.*
  • WebSphere
    • com.ibm.websphere.*
    • com.ibm.wsspi.*

3.3 Deployment descriptors

Detects the presence of deployment descriptors within the application.

The following Java EE and vendor-specific deployment descriptors are detected:

  • Java EE:
    • application.xml
    • application-client.xml
    • ejb-jar.xml
    • persistence.xml
    • ra.xml
    • web.xml
    • webservices.xml
  • JBoss:
    • jaws.xml
    • jboss.xml
    • jbosscmp-jdbc.xml
    • jboss-service.xml
    • jboss-web.xml
  • WebLogic:
    • weblogic.xml
    • weblogic-cmp-rdbms-jar.xml
    • weblogic-ejb-jar.xml
    • weblogic-ra.xml
    • persistence-configuration.xml
    • weblogic-webservices.xml
    • weblogic-wsee-clientHandlerChain.xml
    • webservice-policy-ref.xml
    • weblogic-wsee-standaloneclient.xml
    • weblogic-application.xml
  • WebSphere:
    • client-resource.xmi
    • ibm-application-bnd.xmi
    • ibm-application-bnd.xml
    • ibm-application-client-bnd.xmi
    • ibm-application-client-bnd.xml
    • ibm-application-client-ext.xmi
    • ibm-application-client-ext.xml
    • ibm-application-ext.xmi
    • ibm-application-ext.xml
    • ibm-ejb-access-bean.xml
    • ibm-ejb-jar-bnd.xmi
    • ibm-ejb-jar-bnd.xml
    • ibm-ejb-jar-ext.xmi
    • ibm-ejb-jar-ext.xml
    • ibm-ejb-jar-ext-pme.xmi
    • ibm-ejb-jar-ext-pme.xml
    • ibm-webservices-bnd.xmi
    • ibm-webservices-ext.xmi
    • ibm-web-bnd.xmi
    • ibm-web-bnd.xml
    • ibm-web-ext.xmi
    • ibm-web-ext.xml
    • ibm-web-ext-pme.xmi
    • ibm-web-ext-pme.xml
    • j2c_plugin.xml

3.4 EJBs

Detects the presence of EJBs in an application. Both EJBs declared in deployment descriptors and EJBs identified by Java annotations are detected.

The following EJB-related information is detected:

  • Entity beans
    • Persistence type: container-managed persistence (CMP) or bean-managed persistence (BMP)
    • Primary key class
    • CMP version
    • Reentrancy
    • CMP fields
  • Session beans
    • Session type: stateful or stateless
    • Transaction type: container-managed transactions (CMT) or bean-managed transactions (BMT)
    • Transaction propagation configuration (required, requires new, not supported, supports, never, or mandatory)
  • Message-driven beans (MDBs)
    • Transaction type: container-managed transactions (CMT) or bean-managed transactions (BMT)
    • Transaction propagation configuration (required or not supported)

3.5 Spring

Detects any existing usage of Spring in an application, focusing on usage that relates to Java EE.

The following usage of Spring is detected:

  • Spring configuration files
  • Use of Spring's EJB integration namespace
  • Use of Spring's JNDI namespace
  • Use of Spring's JTA integration

3.6 Transactions

Detects an application's usage of transactions.

The following transaction usage is detected:

  • Direct use of DataSource transactions
  • Programmatic transaction management, i.e. code that uses UserTransaction