File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Struts and the fly likes Problem with EAR file in a struts app Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Problem with EAR file in a struts app" Watch "Problem with EAR file in a struts app" New topic

Problem with EAR file in a struts app

Ranch Hand

Joined: Aug 18, 2005
Posts: 372
I have deployed a struts-based application in weblogic server as an EAR file. I have a servlet that extends ActionServlet. In its init() method I have put some important start up code and in its destroy method, I have put shutdown code. I am loading that servlet on start up in web.xml. Hence its init() method would be getting called on server start up. But we are encountering a strange error

Whenever we deploy a new EAR file in weblogic, the server is starting and the servlet's init() method is getting called. But then immediately after the server starts, destroy of that servlet is getting called and the shutdown code is running. Then again init() is getting called and the start up code gets executed again. This is causing problems as our start up code starts an Orbix daemon and should be executed exactly once. I think what is happening is it is creating an instance of the servlet on start up, then after the server starts, it is destroying that instance and then creating a new instance. This problem happens ONLY when a fresh EAR is deployed. It does not happen when we start the server second time or third time after the EAR is deployed.

Also this problem does not occur when we deploy the web app as a separate WAR file, happens only when deployed as a EAR file and on fresh deployment

Has anyone encountered a similar problem? Where else do you think is a reliable place to put our start up code and shut down code in a struts application?
I agree. Here's the link:
subject: Problem with EAR file in a struts app
It's not a secret anymore!