Class GlobalJndiNamingStrategy

  • All Implemented Interfaces:
    Serializable, IJndiNamingStrategy

    public class GlobalJndiNamingStrategy
    extends Object
    implements IJndiNamingStrategy
    Simple Java EE 6 Global JNDI naming support for java:global prefixed JNDI names based on the EJB 3.1 specification Section 4.4.1, page 83
    With this you can use JNDI names in the following format:
    java:global/[<appName>]/<moduleName>/<bean-name>[!<fully-qualified-interface-name>]

    The appName only applies, if the application is packaged as an .ear file. It defaults to the base name of the .ear file with no filename extension, unless specified by the application.xml deployment descriptor.

    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

      • GlobalJndiNamingStrategy

        public GlobalJndiNamingStrategy​(String moduleName)
        This naming strategy will use the java:global JNDI name format for lookups. Use this constructor, if the app-name is not defined.
        Parameters:
        moduleName - The name of the module
      • GlobalJndiNamingStrategy

        public GlobalJndiNamingStrategy​(String appName,
                                        String moduleName)
        This naming strategy will use the java:global JNDI name format for lookups.
        Parameters:
        appName - The name of the application (defined in application.xml or name of the ear)
        moduleName - The name of the module (defined in ejb-jar.xml or name of the ejb-jar)
    • 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.