cancel
Showing results for 
Search instead for 
Did you mean: 

Error on redeploy

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (1)

Answers (1)

ivo_simeonov
Explorer
0 Kudos

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

Former Member
0 Kudos

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