In today's blog I will answer some questions I received lately regarding the Administration of Digital Experience software.
What is the easiest way to find out from which jar file a certain class was loaded from?
Class Loader traces are the common way to find out why a certain class was not loaded or where a wrong version of a class was loaded from. The traces though are hard to read and easily get very big.
Starting with version 8.0 of WebSphere Application Server the class loader viewer tool can be leveraged instead.
To use the tool enable the class loader viewer service for the JVM in question and restart the JVM. After that the class loader viewer in the WAS Admin Console can be used to find out which jar file a class was loaded from.
Note that you have to select the war file that you want to inspect as it is possible to configure specific class loading at the ear / war file level (i.e. parent last or extra shared libraries).
The image below shows a search for a class within the wps.war (the application holding the main Portal Servlet):
How can I find out which version of CTC I have installed on my system?
The easiest way is to check the file /PortalServer/version/wp.ctc.component. In my case the file contained the following:
<component build-date="11/13/2014" build-version="CTC4.3_ctc_20141113-0059" name="wp.ctc" spec-version="18.104.22.168"/>
What is CTC version 4.3.
How can I find out the HTTP headers that arrive at Portal?
Enabling traces for com.ibm.wps.engine.Servlet will enable the logging of all HTTP headers that make it to the Portal Servlet.
Can I copy a page tree to another area in the Portal?
Using XMLAccess it is fairly easy to do this - see the following for detailed steps: http://www-01.ibm.com/support/knowledgecenter/SSHRKX_8.5.0/mp/admin-system/adxmltsk_xfer_partl_cfg.dita?lang=en
When having trouble deleting libraries via the User Interface due to inter-library dependencies is there a way to solve this?
The delete library task can be used to delete libraries and it enforces the delete. For more details see: http://www-01.ibm.com/support/knowledgecenter/SSHRKX_8.5.0/mp/wcm/wcm_admin_library_delete.dita?lang=en
How to set a resource environment provider setting for Portal via wsadmin?
The WebSphere Application Server InfoCenter has documentation for this use case: http://www-01.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/txml_resourcecustom.html?lang=en
The sample script below sets timeout.resume.session=true in WP ConfigService.
As always the following limitations apply:
def findProperty(propSet, option):
propertyList = AdminConfig.list("J2EEResourceProperty", propSet).splitlines()
for elem in propertyList:
if(AdminConfig.showAttribute(elem, "name") == option):
name1 = ['name',nameValue]
val1 = ['value', newValue ]
newValueSet = [ name1, val1 ]
newrep = AdminConfig.getid('/ResourceEnvironmentProvider:WP ConfigService/')
propertyset = AdminConfig.showAttribute(newrep, 'propertySet')
property = findProperty(propertyset,nameValue)
if(property is not None):
currentValue = AdminConfig.showAttribute(property, "value")
currentDesc = AdminConfig.showAttribute(property, "description")
if(newValue != currentValue):
print "Property : '" + nameValue + "' is already having latest value."
AdminConfig.create('J2EEResourceProperty', propertyset, newValueSet)