JBoss.org Community Documentation

11.4.6.4. Explicitly Defining Read-Only Methods

After reading and understanding the default locking behavior of entity beans, you're probably wondering, "Why lock the bean if its not modifying the data?" JBoss allows you to define what methods on your entity bean are read only so that it will not lock the bean within the transaction if only these types of methods are called. You can define these read only methods within a jboss.xml deployment descriptor. Wildcards are allowed for method names. The following is an example of declaring all getter methods and the anotherReadOnlyMethod as read-only.

<jboss>
						<enterprise-beans>
						<entity>
						<ejb-name>nextgen.EnterpriseEntity</ejb-name>
						<jndi-name>nextgen.EnterpriseEntity</jndi-name>
						<method-attributes>
						<method>
						<method-name>get*</method-name>
						<read-only>true</read-only>
						</method>
						<method>
						<method-name>anotherReadOnlyMethod</method-name>
						<read-only>true</read-only>
						</method>
						</method-attributes>
						</entity>
						</enterprise-beans>
						</jboss> 
					

Example 11.12. Defining entity bean methods as read only