Search code examples
cachingweblogicwlst

Weblogic caching problems


I'm writing a WLST script to deploy an application with WebLogic 11g. The problem is that when I deploy an application (version A), undeploy it, then deploy version B, it deploys version A.

If I try to solve this by deleting the tmp/_WL_user/appname/ folder, it then won't deploy A or B because it looks in the tmp folder for the application (and fails because I cleared it out). I'm using the nostage option, so I don't understand why it's caching anything.

Any help you can offer would be greatly appreciated. Thanks!


Solution

  • Probably the undeploy of Version A was not successful and Version B was never deployed.

    Not sure what you have in the WLST script, could you try with the following:

    # let's say the appName is testApp
    # can move all of these properties to a props file
    appName='testApp'
    appPath='/scratch/user/testApp.war'
    appTarget='AdminServer'
    username='weblogic'
    password='weblogic1'
    adminURL='t3://hostname:adminport'
    
    # start deploy/undeploy code
    connect (username, password, adminURL)
    for app in cmo.getAppDeployments():
        currAppName = app.getName()
        if currAppName == appName :
            print('Application' + appName + ' already exists, undeploying...')
            undeploy(appName)
            # sleep is just to make sure that we don't attempt deploy immediately i.e before server is finished with undeploying
            # more like a safe side one, may not be required also
            java.lang.Thread.sleep(60000)
    print('Now deploying ' + appName)
    deploy(appName, appPath, appTarget)
    disconnect()