Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I have a function I want to execute straight after tomcat has started and loaded all its attributes successfully. I don't want to use ServletContextListener as this will require the function to start before tomcat starts. Can someone suggest how to go about this?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
350 views
Welcome To Ask or Share your Answers For Others

1 Answer

ServletContextListener.contextInitialized(..) is the method that is called after all servlets and filters have initialized for a given application.

  • if there are multiple ServletContextListeners, some of them are called before the others (logically)
  • if there are multiple applications (hence multiple contexts) some of them are started before others.

Update I will now assume your setup, although you didn't share it:

  • you start spring via a listener (and not with a servlet)
  • you configure hibernate within spring

In that case, you have two options:

  • define your ServletContextListener after the one for spring in web.xml, thus guaranteeing it will be invoked after it
  • use spring's lifecycle processor

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...