IBM WebSphere Adapters User Manual page 198

Version 6 release 2
Table of Contents

Advertisement

import com.ibm.websphere.ffdc.FFDCSupport;
public aspect Example_6 extends FFDCSupport {
protected pointcut ffdcScope () : within(com.foo.*);
public pointcut ffdcCall () : call(* com.ibm.websphere.ffdc..*(..));
declare warning : ffdcCall() && ffdcScope() :
"Don't call FFDC directly. Use FFDCSupport aspect.";
public pointcut dumpException () : call(void Throwable.printStackTrace(..));
declare warning : dumpException() && ffdcScope() :
"Don't dump exceptions to console. Use FFDCSupport aspect.";
}
Figure 12. Warn user about calling FFDC directly or dumping stack traces
When using FFDCSupport aspect you can control the data gathered. Two template
methods getSourceId and getProbeId are provided to you for this purpose. For
example, you may want to limit the length of the source ID strings. In Figure 7,
aspect Example_7 illustrates how to override the getSourceId method and return a
short name.
import com.ibm.websphere.ffdc.FFDCSupport;
import org.aspectj.lang.JoinPoint;
public aspect Example_7 extends FFDCSupport {
protected pointcut ffdcScope () :
within(com.foo.*);
protected String getSourceId (JoinPoint.StaticPart ejp) {
String name = ejp.getSignature().getName();
return name;
}
}
Figure 13. Override default source ID generation to create short name
You can use FFDC to control how your classes are introspected by implementing
the introspectSelf method. Class Person in Figure 8 illustrates how you can hide
a sensitive field (in this example a password is hidden).
private class Person {
private String userid = "USER";
private String password = "PASSW0RD";
public String[] introspectSelf () {
String[] self = { "userid=" + userid, "password=XXXXXXXX" };
return self;
}
}
Hide password field of Person class from introspection.
Figure 14. How to hide a sensitive field in this case a password
192
WebSphere Adapters: WebSphere Adapter Toolkit User Guide

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Websphere adapter toolkit

Table of Contents