[
https://issues.apache.org/jira/browse/GERONIMO-6022?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ivan resolved GERONIMO-6022.
----------------------------
Resolution: Fixed
> Support use the @Resource(name="java:global/env/abc") for environment entry
> injection
> -------------------------------------------------------------------------------------
>
> Key: GERONIMO-6022
> URL: https://issues.apache.org/jira/browse/GERONIMO-6022
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Components: naming
> Affects Versions: 3.0
> Reporter: Ivan
> Assignee: Ivan
> Fix For: 3.0
>
> Attachments:
> 0001-GERONIMO-6022-Add-a-referenceType-for-different-inje.patch
>
>
> It looks to me that it is nature to use lookup attribute, not the name
> attribute, but it will be better that we could inject env-entry with this
> style.
> I went through the related parts in the Java EE 6 spec, and do not find some
> explicit descriptions for this, only found the words below. From it, it seems
> that it is valid to define environment entry in those sharable namespace, I
> could see many ways for using this, e.g. in an ear package, which contains
> some wars, ejbs etc.
> a. Declare an entry like java:global/env/abc in one war package, and all
> other components could use @Resource(name="java:global/env/abc") to inject
> values.
> b. More than one components declare the entry java:global/env/abc with the
> same values, it is OK, but fails while the values are different.
> c. Declare the entry in the application.xml, other modules just use it.
> In current EnvironmentEntryBuilder, it somewhat supports the behaviors above.
> But it totally depends on the naming build order of those sub components, if
> one component just uses the value is found first, it will be ignored due to
> no target value is found.
> ---> EE 5.2.2
> If multiple application components declare an environment entry in one of the
> shared namespaces, all attributes of that entry must be identical in each
> declaration. For example, if multiple components declare a resource
> reference
> with the same java:app name, the authentication and shareable attributes must
> be identical.
> If all attributes of each declaration of a shared environment entry are not
> identical, this must be reported as a deployment error to the Deployer. The
> deployment tool may allow the Deployer to correct the error and continue
> deployment.
> By default, environment entries declared by application components are
> created in the java:comp/env namespace. Environment entries may be declared
> in any one of the defined namespaces by explicitly including the namespace
> prefix
> before the name. It is recommended but not required that environment entries
> be
> created in the env subcontext of the corresponding naming context. For
> example,
> entries shared within a module should be declared in the java:module/env
> context. Note that names that are not under the env subcontext may conflict
> with
> the current or future versions of this specification, with server-defined
> names,
> such as the names of applications or modules, or with server-defined
> resources.
> Names in the env subcontexts of any of the namespaces must only be created by
> an explicit declaration in an application or by an explicit action by an
> administrator; the application server must not predefine any names in the env
> subcontext of any of the namespaces, or in any subcontext of any such env
> context.
> <---
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira