Skip to content
This repository has been archived by the owner on Jan 30, 2019. It is now read-only.

@Startup in all components #47

Open
glassfishrobot opened this issue Jun 19, 2015 · 9 comments
Open

@Startup in all components #47

glassfishrobot opened this issue Jun 19, 2015 · 9 comments

Comments

@glassfishrobot
Copy link

@startup is currently allowed only on EJB and should be allowed on any Java EE component.

@glassfishrobot
Copy link
Author

Reported by arungupta

@glassfishrobot
Copy link
Author

@glassfishrobot
Copy link
Author

rdebusscher said:
CDI and JSF have there own way of startup

CDI -> @observes @initialized(ApplicationScoped.class)
JSF ->
be.rubus.squad.startup.JsfStartup
javax.faces.event.PostConstructApplicationEvent

see also http://javaeesquad.blogspot.be/2015/03/getting-notified-when-java-ee.html

Uniformization of this is indeed a good thing and JAX-RS is missing on the above list.

@glassfishrobot
Copy link
Author

reza_rahman said:
Needless to say I agree with this and indeed the issue I had created some time ago has a relatively high amount of votes by EJB spec standards: https://java.net/jira/browse/EJB_SPEC-19.

@glassfishrobot
Copy link
Author

arjan_t said:
In OmniFaces we have implemented something like this, which may be useful for inspiration. See http://showcase.omnifaces.org/cdi/Eager

See also: http://omnifaces.org/docs/javadoc/2.1/org/omnifaces/cdi/Startup.html

@glassfishrobot
Copy link
Author

agoncal said:
@startup should be the way (even for servlets that use load-on-startup). So I'm totally aligned with https://java.net/jira/browse/EJB_SPEC-19.

@glassfishrobot
Copy link
Author

rmannibucau said:
https://rmannibucau.wordpress.com/2015/03/10/cdi-and-startup/ shows that CDI has it.

Note that instead of duplicating existing API using CDI as real backbone for all spec would solve it (ie allowing servlet and web components to be cdi beans and not just injected)

@glassfishrobot
Copy link
Author

arjan_t said:

Note that instead of duplicating existing API using CDI as real backbone for all spec would solve it

+1

ie allowing servlet and web components to be cdi beans and not just injected

Funny that you mention this, since for OmniFaces we were prototyping exactly this

A CDI bean that acts, more or less, exactly as a Servlet. It's a little bit a continuation of our @Eager/@startup bean above. In broad lines, an extension collects those beans, then a special Servlet delegates to them. For the user, the new "CDI Servlet" IS the Servlet and except for the stack trace doesn't get to see the "real" Servlet.

Several specs are already rebasing on CDI, but it's going slowly and sometimes even taking a step back (see what happened with SERVLET_SPEC-116)

@glassfishrobot
Copy link
Author

This issue was imported from java.net JIRA JAVAEE_SPEC-47

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants