[cdi-dev] [JBoss JIRA] (CDI-518) Clarify boundaries of the ServletContext event

Mark Struberg (JIRA) issues at jboss.org
Fri Mar 20 06:34:18 EDT 2015


    [ https://issues.jboss.org/browse/CDI-518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13052104#comment-13052104 ] 

Mark Struberg commented on CDI-518:
-----------------------------------

I don't think we need to change anything. Section "10.3 Observer resolution" defines

{quote}
An event is delivered to an observer method if:
• The observer method belongs to an enabled bean.
{quote}
In fact if WAR1 calls BeanManager#resolveObserverMethods then the ObserverMethods from WAR2 must not even get returned.

Also see 10.5 "Observer notification"

{quote}
• If there is no context active for the scope to which the bean declaring the observer method belongs, then the observer method should not be called.
{quote}

We can assume that the 'ApplicationContext' of beans from the other webapp (e.g. WAR2)  is not active during a request to WAR1. This might be a bit too implicit, but there are already multiple other reasons why observers from WAR2 should not get this event from WAR1.


> Clarify boundaries of the ServletContext event
> ----------------------------------------------
>
>                 Key: CDI-518
>                 URL: https://issues.jboss.org/browse/CDI-518
>             Project: CDI Specification Issues
>          Issue Type: Clarification
>          Components: Events
>            Reporter: Jozef Hartinger
>
> {quote}
> An event with qualifier @Initialized(ApplicationScoped.class) is fired when the application
> context is initialized and an event with qualifier @Destroyed(ApplicationScoped.class) is fired
> when the application is destroyed. The event payload is:
> • the ServletContext if the application is a web application deployed to a Servlet container, or Conversation context lifecycle
> • any java.lang.Object for other types of application.
> {quote}
> Unlike dependency injection, the spec does not define any visibility boundaries for events. It could therefore be implied that in an EAR a web application could observe the ServletContext event for a different web application. This obviously does not seem right and the spec should explicitly define the expected behavior.



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)



More information about the cdi-dev mailing list