Neil Griffin created PLUTO-699:

             Summary: Spec: Clarify Section 20.3.2 titled "Dependent Scoped 
                 Key: PLUTO-699
             Project: Pluto
          Issue Type: Bug
          Components: spec
    Affects Versions: 3.0.0
            Reporter: Neil Griffin
            Assignee: Scott Nicklous

Section 20.3.2 of the Portlet 3.0 Spec titled "Dependent Scoped Beans" states:

{quote}The portlet container may produce the beans described in this section as 
@Dependent scoped beans.{quote}

It then provides a table that lists {{namespace}}, {{contextPath}}, 
{{windowId}}, and {{portletName}} as EL names for injectable artifacts of type 

This issue serves as a task for:

1. Changing the word "may" to "must" because injecting an artifact of type 
{{java.lang.String}} can only be done with {{@Dependent}} scope since it is not 
possible for CDI to proxy {{final}} types like {{java.lang.String}}.

2. Clarify that these artifacts are inherently {{@PortletRequestScoped}}, and 
therefore cannot be injected into a portlet bean since there is no request 
thread available at the time CDI creates instances of portlet beans. Instead, 
ask the TCK itself tests in (annotated with 
{{@PortletRequestScoped}}), these String-based artifacts can only be used from 
within a bean that is proxied. For example:

public class MyBeanPortlet {

    public void myRender(RenderRequest renderRequest, RenderResponse 
renderResponse) {


    @Inject FooBean fooBean;

public class FooBean {

    public String getDependentScopedContextPath() {
        return contextPath;

    @Inject @ContextPath contextPath;

This message was sent by Atlassian JIRA

Reply via email to