Preparing Applications and Modules for Deployment 3-11
3.6.6 Limitations When Using FastSwap
The following limitations apply when using FastSwap deployment:
■
Java reflection results do not include newly added fields and methods and include removed fields and methods. As a result, use of the reflection API on the modified
classes can result in undesired behavior.
■
Changing the hierarchy of an already existing class is not supported by FastSwap. For example, either a changing the list of implemented interfaces of a class; or b
changing the superclass of a class, is not supported. Remove constants
No Addremove methods
No Anonymous Inner
Class Addremove fields
NA Not supported by the Java language
Addremove methods No
Static Inner Class Same supported changes a–g
listed in Instance Yes
Member Inner Classes non-static
inner classes Same supported changes a–g
listed in Instance Yes
Local Inner Classes Same supported changes a–g listed in Instance
Yes Java Interface
Add method Yes
Java Reflection Access existing fieldsmethods
Yes Access new methods
No New methods are not seen using Reflection
and some synthetic methods are exposed. Access new fields
No New fields are not seen using Reflection.
Annotations on Classes
Add or remove methodfield annotations
No Annotation Type
Add or remove methodsattributes
No Exception Classes
Same supported changes a–g listed in Instance
Yes EJB Interface
Addremove methods No
Changes to EJB interfaces involve Reflection, which is not fully supported.
EJB 3.0 SessionMDB
EJB Implementation
Class Addremove methods
No Any support classes referenced by the EJB
classes can be modified. Addremove fields
No EJB 3.0 EntityBean
Addremove methods No
Any support classes referenced by the EJB classes can be modified.
Addremove fields No
EJB Interceptors Addremove methods
No Any support classes referenced by the EJB
classes can be modified. Addremove fields
No
Table 3–1 Cont. Supported Application Types and Changes
Scope Java Change Type
Supported Notes
3-12 Deploying Applications to Oracle WebLogic Server
■
Addition or removal of Java annotations is not supported by FastSwap, since this is tied to the reflection changes mentioned above.
■
Addition or removal of methods on EJB Interfaces is not supported by FastSwap since an EJB Compilation step is required to reflect the changes at run time.
■
Addition or removal of constants from Enums is not supported.
■
Addition or removal of the finalize method is not supported.
■
When you change a field name, the object state is not retained. This type of change occurs as follows: the field with the old name is deleted and a field with the new
name is added. As such, any state in the old field is not carried over to the renamed field. You should expect an instance value to be reset when you change a
field name.
3.6.7 Handling Unsupported FastSwap Changes