Metadata for module settings
Use this page to instruct a Java EE enterprise bean (EJB) deployment descriptor, web module deployment descriptor, or JCA resource adapter archive (RAR) module to ignore annotations that specify deployment information.
From the admin console, click...
Applications > Application Types > WebSphere enterprise applications > application_name > Metadata for modules
This page is the same as the Metadata for modules page on the application installation and update wizards.
If the application contains Java EE 5 or later modules, we can select to lock the deployment descriptor of one or more of the modules on the Metadata for modules page. If we select a metadata-complete attribute check box (set the metadata-complete attribute to true) and lock deployment descriptors, the product writes the complete module deployment descriptor, including deployment information from annotations, to XML format.
Annotations are a standard mechanism of adding metadata to Java classes. Use metadata to simplify development and deployment of Java EE 5 or later artifacts. Prior to the introduction of Java language annotations, deployment descriptors were the standard mechanism used by Java EE components. These deployment descriptors were mapped to XML format, which facilitated their persistence. If we select to lock deployment descriptors, the product merges Java EE annotation-based metadata with the XML-based existing deployment descriptor metadata and persists the result.
When applications contain a large number of Java classes, the deployment processing time for the annotations can increase. To minimize the performance impact, we can use one of the following methods:
- Determine whether the module needs to use Java EE 5 or 6. If the module does not need to use Java EE 5 or 6, the annotations within the Java classes are not scanned.
- Use the metadata-complete attribute in the module descriptor if the module uses Java EE 5 or later and it does not contain any annotations. This attribute disables the annotations processing for the module, but Java EE 5 or later modules might still be placed in the descriptor file. If we are migrating the application, but we are not adding annotations, consider using this attribute value.
- Restructure the application to place the utility Java archive (JAR) files into shared libraries if those JAR files do not have annotation information. Consider this method if we cannot set the metadata-complete attribute.
- Move the JAR files in the WEB-INF/lib directory to the root directory of the EAR file. Nested archives, such as a JAR file within a web application archive (WAR) that is within an EAR file, are very cumbersome to search through because of the multiple levels of compression.
Module
Name of a module in the installed (or deployed) application.
Information Value Data type String
URI
Location of the module relative to the root of the EAR file.
Information Value Data type String
metadata-complete attribute
Specifies whether to write the complete module deployment descriptor, including deployment information from annotations, to extensible markup language (XML) format.
By default, a metadata-complete attribute check box is not selected and the product does not write out annotation data to a module deployment descriptor.
If our modules do not have a metadata-complete attribute or the metadata-complete attribute is set to false, we can select a check box and instruct the product to write out annotation data to a module deployment descriptor.
If our Java EE 5 or later application uses annotations and a shared library, do not select metadata-complete attribute. When the application uses annotations and a shared library, setting the metadata-complete attribute to true causes the product to incorrectly represent an @EJB annotation in the deployment descriptor as <ejb-ref> rather than <ejb-local-ref>. For web modules, setting the metadata-complete attribute to true might cause InjectionException errors. If select metadata-complete attribute (set the metadata-complete attribute to true), avoid errors by not using a shared library, by placing the shared library in either the classes or lib directory of the application server, or by fully specifying the metadata in the deployment descriptors.
After selecting a check box, we cannot deselect (clear) the check box and the module is no longer shown in the list of modules on this page. If we select all the check boxes, the link to this page is no longer shown on the enterprise application settings page.
Information Value Data type Boolean Default false (deselected)
Related:
JCA 1.6 support for annotations in RAR modules Configure enterprise application files Install enterprise application files with the console View deployment descriptors Enterprise application settings