public interface ServerInit
ISCInit.go()
early in your bootstrap code (eg, from the top of your
main()
method).
If you are running inside a servlet engine, install the following listener in your web.xml. Ideally this should be the first listener registered in web.xml because part of the init logic exports database connections configured via server.properties via JNDI for consumption by other frameworks (Spring, Hibernate, etc). See also below for other rationale related to Spring.
InitListener
, which is a ServletContextListener
:<listener> <listener-class>com.isomorphic.base.InitListener</listener-class> </listener>
The solution to this is to use the InitListener
, and to ensure that it is
declared in your web.xml
file before the Spring
ContextLoaderListener
. The Servlet 2.3 spec states (SRV.10.3.3):
"During Web application execution, listeners are invoked in the order of their registration."
Therefore, declaring the Smart GWT listener before the Spring one ensures that things run in the correct order in Servlet 2.4-compatible containers, and in those Servlet 2.3 containers that enforce the rule of running listeners before initializing filters or servlets.