Class ModuleJndiNamingStrategy

  • All Implemented Interfaces:
    Serializable, IJndiNamingStrategy

    public class ModuleJndiNamingStrategy
    extends Object
    implements IJndiNamingStrategy
    Simple Java EE 6 Global JNDI naming support for java:module prefixed JNDI names based on the EJB 3.1 specification Section 4.4.1.2, page 85
    The java:module prefix allows a component executing within a Java EE application to access a module-specific namespace. This strategy can lookup JNDI names only from the current webmodule.
    With this you can use JNDI names in the following format:
    java:module/<bean-name>[!<fully-qualified-interface-name>]

    The moduleName is the name of the module in which the session bean is packaged. In a stand-alone ejb-jar file or .war file, the moduleName defaults to the base name of the module with any filename extension removed. In an ear file, the moduleName defaults to the pathname of the module with any filename extension removed, but with any directory names included. The default moduleName can be overriden using the module-name element of ejb-jar.xml (for ejb-jar files) or web.xml (for .war files).

    Author:
    Peter Major
    See Also:
    EJB 3.1 specification, Serialized Form
    • Constructor Detail

      • ModuleJndiNamingStrategy

        public ModuleJndiNamingStrategy()
    • Method Detail

      • calculateName

        public String calculateName​(String ejbName,
                                    Class<?> ejbType)
        Calculates the JNDI name based on the given name and type
        Specified by:
        calculateName in interface IJndiNamingStrategy
        Parameters:
        ejbName - The name value for the EJB annotation.
        ejbType - The type of the injectable field.
        Returns:
        The full JNDI name for the given field based on a naming strategy.