*/
private void processObservers(Iterator oservers) {
while (oservers.hasNext()) {
try {
OMElement observerelement = (OMElement) oservers.next();
AxisObserver observer;
OMAttribute trsClas = observerelement.getAttribute(new QName(TAG_CLASS_NAME));
if (trsClas == null) {
log.info(Messages.getMessage(DeploymentErrorMsgs.OBSERVER_ERROR));
return;
}
final String clasName = trsClas.getAttributeValue();
Class observerclass;
try {
observerclass = (Class) org.apache.axis2.java.security.AccessController
.doPrivileged(new PrivilegedExceptionAction() {
public Object run() throws ClassNotFoundException {
return Loader.loadClass(clasName);
}
});
} catch (PrivilegedActionException e) {
throw (ClassNotFoundException) e.getException();
}
observer = (AxisObserver) observerclass.newInstance();
// processing Parameters
// Processing service level parameters
Iterator itr = observerelement.getChildrenWithName(new QName(TAG_PARAMETER));
processParameters(itr, observer, axisConfig);
// initialization
try {
observer.init(axisConfig);
} catch (Throwable e) {
//Observer init may throw runtime exception , but we can stil
// start Axis2
log.info(e.getMessage());
}