users@glassfish.java.net

How to contol the servlets initialization order when deploying an ear?

From: <glassfish_at_javadesktop.org>
Date: Wed, 04 Jun 2008 08:17:37 PDT

Hello,

When I deploy my ear to Sailfin, I am not able to control the servlet initialization order.
Is it possible in Sailfin?
My problem is that I have a servlet that must be initialized before all the others (e.g. its contextInitialized() should be called firstly).

The used version: Sun Java System Communications Application Server 1.0 (build b35-beta)

Thanks and best regards, Mic


NOTE: I get the following exception, may be it is related:

[#|2008-06-04T16:27:08.864+0200|WARNING|sun-comms-appserver1.0|javax.enterprise.system.core|_ThreadID=17;_ThreadName=Thread-50;_RequestID=abeb3fc1-b4c7-4cac-a1a2-5a80fbd8a400;|CORE5064: Error serializing descriptor for application TSBox.ear; continuing
java.io.NotSerializableException: com.sun.enterprise.deployment.util.XModuleType
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
        at com.sun.enterprise.deployment.util.ModuleDescriptor.writeObject(ModuleDescriptor.java:255)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
        at java.util.HashSet.writeObject(HashSet.java:254)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
        at com.sun.enterprise.instance.SerializedDescriptorHelper.storeSerializedDescriptor(SerializedDescriptorHelper.java:252)
        at com.sun.enterprise.instance.SerializedDescriptorHelper.store(SerializedDescriptorHelper.java:156)
        at com.sun.enterprise.instance.SerializedDescriptorHelper.store(SerializedDescriptorHelper.java:136)
        at com.sun.enterprise.instance.BaseManager.saveAppDescriptor(BaseManager.java:696)
        at com.sun.enterprise.deployment.backend.EJBCompiler.preDeployApp(EJBCompiler.java:317)
        at com.sun.enterprise.deployment.backend.EJBCompiler.compile(EJBCompiler.java:230)
        at com.sun.enterprise.deployment.backend.AppDeployer.runEJBC(AppDeployer.java:319)
        at com.sun.enterprise.deployment.backend.AppDeployer.deploy(AppDeployer.java:240)
        at com.sun.enterprise.deployment.backend.AppDeployer.doRequestFinish(AppDeployer.java:148)
        at com.sun.enterprise.deployment.phasing.J2EECPhase.runPhase(J2EECPhase.java:208)
        at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
        at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:934)
        at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:279)
        at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:803)
        at com.sun.enterprise.management.deploy.DeployThread.deploy(DeployThread.java:187)
        at com.sun.enterprise.management.deploy.DeployThread.run(DeployThread.java:223)
[Message sent by forum member 'micmazza' (micmazza)]

http://forums.java.net/jive/thread.jspa?messageID=278262