Defines runtime properties for a single enterprise bean within the application. The subelements listed below apply to particular enterprise beans as follows:
All types of beans: ejb-name, ejb-ref, resource-ref, resource-env-ref, cmp, ior-security-config, gen-classes, jndi-name, use-thread-pool-id
Stateless session beans and message-driven beans: bean-pool
Stateful session beans: checkpoint-at-end-of-method
Stateful session beans and entity beans: bean-cache
Entity beans: commit-option, bean-cache, bean-pool, is-read-only-bean, refresh-period-in-seconds, flush-at-end-of-method
Message-driven beans: mdb-connection-factory, jms-durable-subscription-name, jms-max-messages-load, bean-pool
enterprise-beans (sun-ejb-jar.xml)
The following table describes subelements for the ejb element.
Table A–41 ejb Subelements
Element |
Required |
Description |
---|---|---|
only one |
Matches the ejb-name in the corresponding ejb-jar.xml file. |
|
zero or more |
Specifies the absolute jndi-name. |
|
zero or more |
Maps the absolute JNDI name to the ejb-ref element in the corresponding J2EE XML file. |
|
zero or more |
Maps the absolute JNDI name to the resource-ref in the corresponding J2EE XML file. |
|
zero or more |
Maps the absolute JNDI name to the resource-env-ref in the corresponding J2EE XML file. |
|
zero or more |
Specifies runtime settings for a web service reference. |
|
zero or one |
Specifies the passing method used by an enterprise bean calling a remote interface method in another bean that is colocated within the same process. |
|
zero or one |
Specifies runtime information for a container-managed persistence (CMP) entity bean for EJB 1.1 and EJB 2.1 beans. |
|
zero or one |
Specifies the principal (user) name in an enterprise bean that has the run-as role specified. |
|
zero or one |
Specifies the connection factory associated with a message-driven bean. |
|
zero or one |
Specifies the durable subscription associated with a message-driven bean. |
|
zero or one |
Specifies the maximum number of messages to load into a Java Message Service session at one time for a message-driven bean to serve. The default is 1. |
|
zero or one |
Specifies the security information for the IOR. |
|
zero or one |
Specifies that this entity bean is read-only. |
|
zero or one |
Specifies the rate at which a read-only-bean must be refreshed from the data source. |
|
zero or one |
Has valid values of B or C. Default value is B. |
|
zero or one |
Overrides the Transaction Timeout setting of the Transaction Service for an individual bean. |
|
zero or one |
Specifies the thread pool from which threads are selected for remote invocations of this bean. |
|
zero or one |
Specifies all the generated class names for a bean. |
|
zero or one bean-pool |
Specifies the bean pool properties. Used for stateless session beans, entity beans, and message-driven bean pools. |
|
zero or one bean-pool |
Specifies the bean cache properties. Used only for stateful session beans and entity beans. |
|
zero or one |
Specifies runtime configuration information for a message-driven bean. |
|
zero or more |
Specifies information about a web service endpoint. |
|
zero or one |
Specifies the methods that force a database flush after execution. Used for entity beans. |
|
zero or one |
Deprecated. Supported for backward compatibility. Use checkpoint-at-end-of-method instead. |
|
zero or one |
Specifies that the stateful session bean state is checkpointed, or persisted, after the specified methods are executed. The availability-enabled attribute must be set to true. |
The following table describes attributes for the ejb element.
Table A–42 ejb Attributes
Attribute |
Default |
Description |
---|---|---|
false |
(optional)If set to true, and if availability is enabled in the EJB container, high-availability features apply to this bean if it is a stateful session bean. |
<ejb> <ejb-name>CustomerEJB</ejb-name> <jndi-name>customer</jndi-name> <resource-ref> <res-ref-name>jdbc/SimpleBank</res-ref-name> <jndi-name>jdbc/__default</jndi-name> </resource-ref> <is-read-only-bean>false</is-read-only-bean> <commit-option>B</commit-option> <bean-pool> <steady-pool-size>10</steady-pool-size> <resize-quantity>10</resize-quantity> <max-pool-size>100</max-pool-size> <pool-idle-timeout-in-seconds>600</pool-idle-timeout-in-seconds> </bean-pool> <bean-cache> <max-cache-size>100</max-cache-size> <resize-quantity>10</resize-quantity> <removal-timeout-in-seconds>3600</removal-timeout-in-seconds> <victim-selection-policy>LRU</victim-selection-policy> </bean-cache> </ejb>
In the sun-ejb-jar.xml file, matches the ejb-name in the corresponding ejb-jar.xml file. The name must be unique among the names of the enterprise beans in the same EJB JAR file.
There is no architected relationship between the ejb-name in the deployment descriptor and the JNDI name that the deployer assigns to the EJB component’s home.
In the sun-cmp-mappings.xml file, specifies the ejb-name of the entity bean in the ejb-jar.xml file to which the container-managed persistence (CMP) bean corresponds.
ejb, method (sun-ejb-jar.xml); entity-mapping (sun-cmp-mappings.xml)
none - contains data
Maps the ejb-ref-name in the corresponding J2EE deployment descriptor file ejb-ref entry to the absolute jndi-name of a resource.
The ejb-ref element is used for the declaration of a reference to an EJB’s home. Applies to session beans or entity beans.
sun-web-app (sun-web.xml), ejb (sun-ejb-jar.xml), sun-application-client (sun-application-client.xml)
The following table describes subelements for the ejb-ref element.
Table A–43 ejb-ref Subelements
Element |
Required |
Description |
---|---|---|
only one |
Specifies the ejb-ref-name in the corresponding J2EE deployment descriptor file ejb-ref entry. |
|
only one |
Specifies the absolute jndi-name of a resource. |
Specifies the ejb-ref-name in the corresponding J2EE deployment descriptor file ejb-ref entry.
ejb-ref (sun-web.xml, sun-ejb-jar.xml, sun-application-client.xml)
none - contains data
Specifies the relative path combined with the web server root to form the fully qualified endpoint address for a web service endpoint. This is a required element for EJB endpoints and an optional element for servlet endpoints.
For servlet endpoints, this value is relative to the web application context root. For EJB endpoints, the URI is relative to root of the web server (the first portion of the URI is a context root). The context root portion must not conflict with the context root of any web application deployed to the same web server.
In all cases, this value must be a fixed pattern (no ”*’ allowed).
If the web service endpoint is a servlet that implements only a single endpoint and has only one url-pattern, it is not necessary to set this value, because the web container derives it from the web.xml file.
webservice-endpoint (sun-web.xml, sun-ejb-jar.xml)
none - contains data
If the web server is listening at http://localhost:8080, the following endpoint-address-uri:
<endpoint-address-uri>StockQuoteService/StockQuotePort</endpoint-address-uri>
results in the following target endpoint address:
http://localhost:8080/StockQuoteService/StockQuotePort
Specifies all the runtime properties for an EJB JAR file in the application.
sun-ejb-jar (sun-ejb-jar.xml)
The following table describes subelements for the enterprise-beans element.
Table A–44 enterprise-beans Subelements
Element |
Required |
Description |
---|---|---|
zero or one |
Specifies the name string. |
|
zero or one |
Specifies a unique system identifier. This data is automatically generated and updated at deployment/redeployment. Do not specify or edit this value. |
|
zero or more |
Defines runtime properties for a single enterprise bean within the application. |
|
zero or one |
Deprecated. |
|
zero or one |
Specifies the database to be used for storing container-managed persistence (CMP) beans in an EJB JAR file. |
|
zero or more |
Specifies the name of a logical message destination. |
|
zero or more |
Specifies a name and optional publish location for a web service. |
<enterprise-beans> <ejb> <ejb-name>CustomerEJB</ejb-name> <jndi-name>customer</jndi-name> <resource-ref> <res-ref-name>jdbc/SimpleBank</res-ref-name> <jndi-name>jdbc/__default</jndi-name> </resource-ref> <is-read-only-bean>false</is-read-only-bean> <commit-option>B</commit-option> <bean-pool> <steady-pool-size>10</steady-pool-size> <resize-quantity>10</resize-quantity> <max-pool-size>100</max-pool-size> <pool-idle-timeout-in-seconds>600</pool-idle-timeout-in-seconds> </bean-pool> <bean-cache> <max-cache-size>100</max-cache-size> <resize-quantity>10</resize-quantity> <removal-timeout-in-seconds>3600</removal-timeout-in-seconds> <victim-selection-policy>LRU</victim-selection-policy> </bean-cache> </ejb> </enterprise-beans>
Specifies the mapping a bean to database columns.
sun-cmp-mapping (sun-cmp-mappings.xml)
The following table describes subelements for the entity-mapping element.
Table A–45 entity-mapping Subelements
Element |
Required |
Description |
---|---|---|
only one |
Specifies the name of the entity bean in the ejb-jar.xml file to which the CMP bean corresponds. |
|
only one |
Specifies the name of a database table. The table must be present in the database schema file. |
|
one or more |
Associates a field with one or more columns to which it maps. |
|
zero or more |
A container-managed relationship field has a name and one or more column pairs that define the relationship. |
|
zero or more |
Describes the relationship between a bean’s primary and secondary table. |
|
zero or one |
Specifies container behavior in guaranteeing transactional consistency of the data in the bean. |
Specifies if the target is capable of authenticating a client. The values are NONE, SUPPORTED, or REQUIRED.
transport-config (sun-ejb-jar.xml)
none - contains data
Specifies if the target is capable of authenticating to a client. The values are NONE, SUPPORTED, or REQUIRED.
transport-config (sun-ejb-jar.xml)
none - contains data