on 11-30-2006 2:20 PM
Hello,
I have a little Problem. When I deploy my Enterprise Beans after starting SAP NetWeaver, everything is fine. After starting the richclient, testing some changes on Bean side, correcting errors, the re-deployment fails.
The Deploylog says:
Error occurred while starting application <appname> and wait.
Reason: Clusterwide exception: server ID 8787650:com.sap.engine.services.deploy.container.DeploymentException: Unable to create folder C:\SAP\JP1\JC00\j2ee\cluster\apps\<vendor>\<appname>\EJBContainer\applicationjars
at com.sap.engine.services.ejb3.container.ContainerInterfaceImpl$Actions.perform(ContainerInterfaceImpl.java:879)
at com.sap.engine.services.ejb3.container.ContainerInterfaceImpl.makeStartInitially(ContainerInterfaceImpl.java:757)
at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.makeStartInitially(StartInitiallyTransaction.java:181)
at com.sap.engine.services.deploy.server.application.StartInitiallyTransaction.prepare(StartInitiallyTransaction.java:143)
at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitiallyGlobal(StartTransaction.java:430)
at com.sap.engine.services.deploy.server.application.StartTransaction.doStartInitially(StartTransaction.java:418)
at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:192)
at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:380)
at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:405)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.super_MakeAllPhases(ParallelAdapter.java:259)
at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:535)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:171)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:315)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3163)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3070)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3043)
at com.sap.engine.services.dc.lcm.impl.J2EELCMProcessor.doStart(J2EELCMProcessor.java:98)
at com.sap.engine.services.dc.lcm.impl.LifeCycleManagerImpl.start(LifeCycleManagerImpl.java:62)
at com.sap.engine.services.dc.lcm.impl.RemoteLCMImpl.start(RemoteLCMImpl.java:45)
at com.sap.engine.services.dc.lcm.impl.RemoteLCMImplp4_Skel.dispatch(RemoteLCMImplp4_Skel.java:233)
at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:253)
at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:109)
at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:841)
at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:125)
at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:59)
at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108)
at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:168)
Caused by: com.sap.engine.services.ejb3.container.ActionException: Unable to create folder C:\SAP\JP1\JC00\j2ee\cluster\apps\<vendor>\<appname>\EJBContainer\applicationjars
at com.sap.engine.services.ejb3.container.FSMakeFolder.perform(FSMakeFolder.java:48)
at com.sap.engine.services.ejb3.container.CompositeAction.perform(CompositeAction.java:81)
at com.sap.engine.services.ejb3.container.ContainerInterfaceImpl$Actions.perform(ContainerInterfaceImpl.java:873)
... 27 more
After restarting the Applicationserver, it works. Even undeploy in J2EE telnet does not change the situation.
This is not a big problem, but it is not very practicable to have a restart of the Server before every new deployment.
Is this a known problem or has anyone a solution for that?
Thanks in advance
Matthias Reizammer
Hi Matthias,
The re-deployment fails because your file-system resources are locked by the
class loader of the previous application version and the this classloader is still in use ( not GC-ed ).
Please check if your application uses registration pattern involving the application classloader.
Best Regards
Ivo
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ivo,
I'm facing the same problem and I went through my code to close all InputStreams.
Nevertheless, the file system is still locked
What do you mean by "registration pattern involving the application classloader"?
Might calls like this "Thread.currentThread().getContextClassLoader().getResources(searchPath)" cause the problem?
And do you know if there is any way to find out, who blocks the classloader so that it is not garbage collected?
Thanks in advance,
Joern
User | Count |
---|---|
92 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.