[jira] Commented: (GERONIMO-4361) Resource injection of simple env. entry types
[ https://issues.apache.org/jira/browse/GERONIMO-4361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12643491#action_12643491 ] Jarek Gawor commented on GERONIMO-4361: --- If you have @Resource annotation without the "name" attribute, the matching env-entry name in the DD for the injected resource should be something like: org.apache.geronimo.samples.slsb.calculator.Calculator/myString So you either need to change the env-entry-name to match the injected resource or add "name" attribute to the @Resource annotation. > Resource injection of simple env. entry types > - > > Key: GERONIMO-4361 > URL: https://issues.apache.org/jira/browse/GERONIMO-4361 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: deployment >Affects Versions: 2.1.3, 2.2 >Reporter: Jarek Gawor >Assignee: Jarek Gawor > Fix For: 2.1.4, 2.2 > > > There are a couple problems with @Resource injection of simple env. types: > 1) If @Resource.mappedName attribute is specified, it becomes the env-entry > value. For example, if we have @Resource(mappedName = "java:comp/env/bar") > String foo, the injected value of "foo" will be "java:comp/env/bar". That's > incorrect. > 2) Right now, @Resource String foo = "bar". without a corresponding env-entry > in the DD will cause a deployment (injection) exception (since there is no > entry for it in the JNDI context). However, according to the Java EE 5 spec, > section EE.5.4.1.3, "... the container must only inject a value for this > resource if the deployer has specified a value to override the default value" > and since the generated DD entry for this resource will have no > env-entry-value element, the injection should not happen (and so the > application should deploy without an error). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (GERONIMO-4361) Resource injection of simple env. entry types
[
https://issues.apache.org/jira/browse/GERONIMO-4361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12643450#action_12643450
]
Jürgen Weber commented on GERONIMO-4361:
Another Problem: attributes are not overridden.
For
@Resource
private String myString = "foo";
myString
java.lang.String
bar
at runtime myString is "foo" instead of "bar".
I understand "the container must only inject a value for this resource if the
deployer has specified a value to override the default value" means "do it if
there is a env-entry.
I took the calculator sample
http://cwiki.apache.org/GMOxDOC21/calculator-using-ejb-30-functions.html
@Stateless(name = "Calculator")
public class Calculator implements CalculatorRemote, CalculatorLocal {
@Resource
private String myString = "foo";
..
Calculator
myString
java.lang.String
bar
> Resource injection of simple env. entry types
> -
>
> Key: GERONIMO-4361
> URL: https://issues.apache.org/jira/browse/GERONIMO-4361
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Components: deployment
>Affects Versions: 2.1.3, 2.2
>Reporter: Jarek Gawor
>Assignee: Jarek Gawor
> Fix For: 2.1.4, 2.2
>
>
> There are a couple problems with @Resource injection of simple env. types:
> 1) If @Resource.mappedName attribute is specified, it becomes the env-entry
> value. For example, if we have @Resource(mappedName = "java:comp/env/bar")
> String foo, the injected value of "foo" will be "java:comp/env/bar". That's
> incorrect.
> 2) Right now, @Resource String foo = "bar". without a corresponding env-entry
> in the DD will cause a deployment (injection) exception (since there is no
> entry for it in the JNDI context). However, according to the Java EE 5 spec,
> section EE.5.4.1.3, "... the container must only inject a value for this
> resource if the deployer has specified a value to override the default value"
> and since the generated DD entry for this resource will have no
> env-entry-value element, the injection should not happen (and so the
> application should deploy without an error).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
