Wow, slow 2011 on the blog so far. Time to get back into it.
I was asked by a customer how to uninstall Process Server, while keeping your Portal Server intact. I couldn’t find any documentation or steps to do this, so I figured it out for them.
“Your mileage may vary” – give this a try on a test box first, before you try on a production box. I didn’t test clusters either, although I don’t see how they would present a problem.
These steps are valid for 6.0 .
Unfortunately, the Process Server uninstaller doesn’t do a great job of cleaning up after itself, so we need to go around after it and clean up the mess.
1. Why not confirm you have Process Server installed first? Try:
AppServer/bin/versionInfo.sh
If you get back something with this in it:
Installed Product
---------------------------------------------------
Name IBM WebSphere Process Server
Version 6.0.2.5
ID BPC
Build Level o0843.03
Build Date 10/31/08
Bingo! You have Process server.
2. Run the config task bpe-unconfig . This config task will uninstall Process Server related components from your Portal Server (like the Task Container Enterprise Apps) .
WPSconfig.sh bpe-unconfig
3.
Stop all AppServer processes and then run the Process server uninstaller, which you will find at :
AppServer/_uninstwbi/uninstall
Take care to make sure this box below is unticked, so your whole AppServer isn’t uninstalled.
4. After the uninstaller is completed, delete the following jars in AppServer/lib . They are Process Server jars, and the Portal Server (or server1) will not start until you do this. As you can see there are tons of them. I got the list from seeing what was on the Process Server install iso. This list worked for me in my testing (which consisted of starting Portal and the Admin Console and making sure the UI still worked), but I can’t vouch for any custom code that you are running. As always, try this out in a test environment first, and take a backup before messing around with AppServer/lib . This seems to be a superset of what was installed on my system too – so don’t be alarmed if some of the jars in this list are not present on your system.
$WAS_HOME/lib/ArtifactLoaderImpl.jar
$WAS_HOME/lib/ArtifactLoader.jar
$WAS_HOME/lib/ArtifactResolver.jar
$WAS_HOME/lib/ast-ejbrdbmapping.jar
$WAS_HOME/lib/ast-ejbwsext.jar
$WAS_HOME/lib/ast-j2eewsext.jar
$WAS_HOME/lib/ast-sqlmodel.jar
$WAS_HOME/lib/ast-wrdj2ee.jar
$WAS_HOME/lib/bpcdma.jar
$WAS_HOME/lib/bpcinterop.jar
$WAS_HOME/lib/bpcupgrade.jar
$WAS_HOME/lib/bpc-validation.jar
$WAS_HOME/lib/bpeappinstall.jar
$WAS_HOME/lib/bpecommon.jar
$WAS_HOME/lib/bpecore.jar
$WAS_HOME/lib/bpedeployment.jar
$WAS_HOME/lib/bpegenerator.jar
$WAS_HOME/lib/bpeheaders.jar
$WAS_HOME/lib/bpe.jar
$WAS_HOME/lib/bpel.jar
$WAS_HOME/lib/bpelpp.jar
$WAS_HOME/lib/bpelservices.jar
$WAS_HOME/lib/bpelterms.jar
$WAS_HOME/lib/bpertfw.jar
$WAS_HOME/lib/bpevalidation.jar
$WAS_HOME/lib/brbClient.jar
$WAS_HOME/lib/brbRuleMgmtApp.jar
$WAS_HOME/lib/brbServer.jar
$WAS_HOME/lib/brcore.jar
$WAS_HOME/lib/brulescore.jar
$WAS_HOME/lib/brulescore_nl1.jar
$WAS_HOME/lib/brulescore_nl2.jar
$WAS_HOME/lib/brules.jar
$WAS_HOME/lib/brules-model.jar
$WAS_HOME/lib/brules-scdl.jar
$WAS_HOME/lib/brules-scdl-validation.jar
$WAS_HOME/lib/brules-scdl-validation_nl1.jar
$WAS_HOME/lib/brules-scdl-validation_nl2.jar
$WAS_HOME/lib/brules-validation.jar
$WAS_HOME/lib/brules-validation_nl1.jar
$WAS_HOME/lib/brules-validation_nl2.jar
$WAS_HOME/lib/bsm-runtime.jar
$WAS_HOME/lib/cbcore.jar
$WAS_HOME/lib/cem.jar
$WAS_HOME/lib/cemsop.jar
$WAS_HOME/lib/cmmImpl.jar
$WAS_HOME/lib/cmm.jar
$WAS_HOME/lib/commondbinstall.jar
$WAS_HOME/lib/commonj.connector.jar
$WAS_HOME/lib/commons-jxpath.jar
$WAS_HOME/lib/compensate_blob4k_ejb.jar
$WAS_HOME/lib/compensate_ejb.jar
$WAS_HOME/lib/compensate.jar
$WAS_HOME/lib/compensate_oracle9i_oci_ejb.jar
$WAS_HOME/lib/compensation.jar
$WAS_HOME/lib/core-validation.jar
$WAS_HOME/lib/corona-ejbplugin.jar
$WAS_HOME/lib/corona-emfworkbenchedit.jar
$WAS_HOME/lib/corona-emfworkbench.jar
$WAS_HOME/lib/corona-j2eeplugin.jar
$WAS_HOME/lib/corona-wsdl.jar
$WAS_HOME/lib/correlationsphere.jar
$WAS_HOME/lib/ctcbpeluiex.jar
$WAS_HOME/lib/ctcformatmodel.jar
$WAS_HOME/lib/ctcj2ee.jar
$WAS_HOME/lib/ctc-wsdl.jar
$WAS_HOME/lib/ctcwsdl.jar
$WAS_HOME/lib/customization.jar
$WAS_HOME/lib/customization-model.jar
$WAS_HOME/lib/dmaemf.jar
$WAS_HOME/lib/eclipse-ecore.resources.jar
$WAS_HOME/lib/eclipse-jdtcore.jar
$WAS_HOME/lib/eclipse-mapping.jar
$WAS_HOME/lib/eclipse-osgi.jar
$WAS_HOME/lib/eclipse-resources.jar
$WAS_HOME/lib/eclipse-runtime.jar
$WAS_HOME/lib/eflow2.jar
$WAS_HOME/lib/extensionmodel.jar
$WAS_HOME/lib/fdl2bpelcore.jar
$WAS_HOME/lib/htmlshellwbi.jar
$WAS_HOME/lib/idgenerator.jar
$WAS_HOME/lib/ilm_impl.jar
$WAS_HOME/lib/ilm.jar
$WAS_HOME/lib/installbrmgr.jar
$WAS_HOME/lib/mediation_model.jar
$WAS_HOME/lib/mfc_model.jar
$WAS_HOME/lib/migration-wbi-CommonMigrationInterface.jar
$WAS_HOME/lib/migration-wbi-ics-heritageapi.jar
$WAS_HOME/lib/migration-wbi-ics.jar
$WAS_HOME/lib/mockobjects-alt-jdk1.3-0.09.jar
$WAS_HOME/lib/mockobjects-alt-jdk1.3-j2ee1.2-0.09.jar
$WAS_HOME/lib/mockobjects-core-0.09.jar
$WAS_HOME/lib/mockobjects-jdk1.3-0.09.jar
$WAS_HOME/lib/mockobjects-jdk1.3-j2ee1.2-0.09.jar
$WAS_HOME/lib/modelutils.jar
$WAS_HOME/lib/processbinding.jar
$WAS_HOME/lib/recoveryAdmin.jar
$WAS_HOME/lib/recoveryMBean.jar
$WAS_HOME/lib/relcodegen.jar
$WAS_HOME/lib/resolverutils.jar
$WAS_HOME/lib/rsadaptercci-wbi.jar
$WAS_HOME/lib/rsaexternal-wbi.jar
$WAS_HOME/lib/sca-async.jar
$WAS_HOME/lib/sca-common.jar
$WAS_HOME/lib/sca-container.jar
$WAS_HOME/lib/sca-deploy.jar
$WAS_HOME/lib/sca-ejb.jar
$WAS_HOME/lib/sca-j2c.jar
$WAS_HOME/lib/sca.jar
$WAS_HOME/lib/sca-java.jar
$WAS_HOME/lib/sca-jms.jar
$WAS_HOME/lib/sca-managed.jar
$WAS_HOME/lib/sca-style.jar
$WAS_HOME/lib/sca-webservice.jar
$WAS_HOME/lib/scdl-ae.jar
$WAS_HOME/lib/scdl-eis.jar
$WAS_HOME/lib/scdl-ejb.jar
$WAS_HOME/lib/scdl-infoserver.jar
$WAS_HOME/lib/scdl.jar
$WAS_HOME/lib/scdl-java.jar
$WAS_HOME/lib/scdl-mediation.jar
$WAS_HOME/lib/scdl-mfc.jar
$WAS_HOME/lib/scdl-moduletype.jar
$WAS_HOME/lib/scdl-process.jar
$WAS_HOME/lib/scdl-task.jar
$WAS_HOME/lib/scdl-webservice.jar
$WAS_HOME/lib/scdl-wsdl.jar
$WAS_HOME/lib/selector.jar
$WAS_HOME/lib/selector-model.jar
$WAS_HOME/lib/selector-scdl.jar
$WAS_HOME/lib/selector-scdl-validation.jar
$WAS_HOME/lib/selector-scdl-validation_nl1.jar
$WAS_HOME/lib/selector-scdl-validation_nl2.jar
$WAS_HOME/lib/selector-validation.jar
$WAS_HOME/lib/selector-validation_nl1.jar
$WAS_HOME/lib/selector-validation_nl2.jar
$WAS_HOME/lib/sibx.admin.commands.jar
$WAS_HOME/lib/sibx.aspects.jar
$WAS_HOME/lib/sibx.common.jar
$WAS_HOME/lib/sibx.context.jar
$WAS_HOME/lib/sibx.eets.debug.jar
$WAS_HOME/lib/sibx.mediation.eets.jar
$WAS_HOME/lib/sibx.mediation.engine.jar
$WAS_HOME/lib/sibx.mediation.flowaction.impl.jar
$WAS_HOME/lib/sibx.mediation.flowaction.jar
$WAS_HOME/lib/sibx.mediation.model.jar
$WAS_HOME/lib/sibx.mediation.primitives.jar
$WAS_HOME/lib/sibx-metadata.jar
$WAS_HOME/lib/sibx-profiles.jar
$WAS_HOME/lib/sibx.scax.runtime.jar
$WAS_HOME/lib/sibx-extensionchecker.jar
$WAS_HOME/lib/sibx.admin.commands.wsrr.jar
$WAS_HOME/lib/sibx.admin.runtime.impl.jar
$WAS_HOME/lib/sibx.wccm.config.wsrrresources.jar
$WAS_HOME/lib/sibx.wsrr.proxy.jar
$WAS_HOME/lib/sibx.admin.runtime.jar
$WAS_HOME/lib/sibx.admin.runtime.wsrr.jar
$WAS_HOME/lib/sibx.wccm.config.sibxscaresources.jar
$WAS_HOME/lib/smaputils.jar
$WAS_HOME/lib/smobo.jar
$WAS_HOME/lib/srm_impl.jar
$WAS_HOME/lib/srm.jar
$WAS_HOME/lib/staffsupport.jar
$WAS_HOME/lib/taskapi.jar
$WAS_HOME/lib/taskappinstall.jar
$WAS_HOME/lib/taskcemsop.jar
$WAS_HOME/lib/taskdeployer.jar
$WAS_HOME/lib/taskgenerator.jar
$WAS_HOME/lib/task.jar
$WAS_HOME/lib/taskldap.jar
$WAS_HOME/lib/taskmbean.jar
$WAS_HOME/lib/taskscdlvalidation.jar
$WAS_HOME/lib/tasksystem.jar
$WAS_HOME/lib/taskuserregistry.jar
$WAS_HOME/lib/taskvalidation.jar
$WAS_HOME/lib/tel.jar
$WAS_HOME/lib/vfdcore.jar
$WAS_HOME/lib/WBIAdapterBGRuntime.jar
$WAS_HOME/lib/WBIAdapterRuntime.jar
$WAS_HOME/lib/wbia.jar
$WAS_HOME/lib/wbiBOmigration.jar
$WAS_HOME/lib/wbiBOS.jar
$WAS_HOME/lib/wbiBOValidator.jar
$WAS_HOME/lib/wbiCore.jar
$WAS_HOME/lib/wbicoreupgrade.jar
$WAS_HOME/lib/wbiinstall.jar
$WAS_HOME/lib/wbiMapService.jar
$WAS_HOME/lib/WBIMCBEBuilder.jar
$WAS_HOME/lib/wbi-mediation-core.jar
$WAS_HOME/lib/wbiMonitorCore.jar
$WAS_HOME/lib/wbiMonitorPolicy.jar
$WAS_HOME/lib/wbiPS.jar
$WAS_HOME/lib/wbiRelMgr.jar
$WAS_HOME/lib/wbiRS.jar
$WAS_HOME/lib/wbischedulercommon.jar
$WAS_HOME/lib/wbisession.jar
$WAS_HOME/lib/wbisessionPolicy.jar
$WAS_HOME/lib/wbiupgrade.jar
$WAS_HOME/lib/wbiutil.jar
$WAS_HOME/lib/wbi-validation.jar
$WAS_HOME/lib/wccm_services_bpc.jar
$WAS_HOME/lib/wccm_services_core.jar
$WAS_HOME/lib/wccm_services_wbi.jar
$WAS_HOME/lib/wcdl.jar
$WAS_HOME/lib/wcdl-process.jar
$WAS_HOME/lib/wcdl-service.jar
$WAS_HOME/lib/wcdl-wsif.jar
$WAS_HOME/lib/wpcr.jar
$WAS_HOME/lib/wpsanttasks.jar
$WAS_HOME/lib/WPS_IVTClient.jar
$WAS_HOME/lib/ws-bpc-config-appdeploy.jar
$WAS_HOME/lib/ws-bpc-config-resources.jar
$WAS_HOME/lib/ws-bpc-config-server.jar
$WAS_HOME/lib/ws-config-admin.jar
$WAS_HOME/lib/ws-core-config-server.jar
$WAS_HOME/lib/ws-core-j2eex.jar
$WAS_HOME/lib/ws-wbi-config-cell.jar
$WAS_HOME/lib/ws-wbi-config-resources.jar
$WAS_HOME/lib/ws-wbi-config-server.jar
$WAS_HOME/lib/ws-wbi-j2eex.jar
$WAS_HOME/lib/wtembean.jar
If you don’t delete these jars, you will get the following error message after issuing startServer.sh :
ADMU0116I: Tool information is being logged in file
/opt/WebSphere/AppServer/profiles/wp_profile/logs/server1/startServer.log
ADMU0128I: Starting tool with the wp_profile profile
ADMU3100I: Reading configuration for server: server1
com.ibm.ws.exception.WsException: Error processing plugin for
jar:file:/opt/WebSphere/AppServer/lib/scdl-infoserver.jar!/META-INF/ws-server-model.init
class: com.ibm.wsspi.sca.scdl.infoserver.impl.InfoserverPackageImpl
at com.ibm.ws.config.ModelMgr.initializeModels(ModelMgr.java:110)
at com.ibm.ws.config.ModelMgr.initialize(ModelMgr.java:49)
at com.ibm.ws.runtime.service.RepositoryImpl.
at com.ibm.ws.runtime.service.RepositoryImpl.
at com.ibm.ws.runtime.service.RepositoryFactoryImpl.createRepository(RepositoryFactoryImpl.java:32)
at com.ibm.ws.runtime.service.RepositoryFactory.createRepository(RepositoryFactory.java:55)
at com.ibm.ws.management.tools.WsServerLauncher.initializeRepositoryAndLauncher(WsServerLauncher.java:393)
at com.ibm.ws.management.tools.WsServerLauncher.runTool(WsServerLauncher.java:265)
at com.ibm.ws.management.tools.AdminTool.executeUtility(AdminTool.java:230)
at com.ibm.ws.management.tools.WsServerLauncher.main(WsServerLauncher.java:108)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:61)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
at java.lang.reflect.Method.invoke(Method.java:391)
at com.ibm.ws.bootstrap.WSLauncher.run(WSLauncher.java:219)
at java.lang.Thread.run(Thread.java:571)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:61)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
at java.lang.reflect.Method.invoke(Method.java:391)
at com.ibm.ws.config.ModelMgr.initializeModels(ModelMgr.java:106)
... 16 more
5. It’s also a good idea to clean out wp_profile/logs/* as there is a cache of jar file paths and their associated classes (the preload cache) that will need to be regenerated after deleting those jars.
6. The only thing the bpe-unconfig task doesn’t seem to do is delete the BPE shared library. To do this, start server1, and log in to the admin console. Navigate to Environment -> Shared Libraries and highlight the BPE library and click delete.
7. You’re done, start Portal and test everything works!
I also wrote a little script that does some checks and then does all this for you (except for step 6 which I couldn’t be inspired enough to write a jacl script for). It’s fairly quick and dirty, but if nothing else it will give you an idea of what has to happen to remove Process Server. You can get it here. Just rename the suffix after you download it. Understandably, WordPress would not yet me save a shell script up to my server.