// automatic re-invocation of this method.
Object info = timer.getInfo();
ActivityUniqueKey auk = null;
String resParam = null;
long applId = ((Long)info).longValue ();
SimpleApplicationInfo applInfo = null;
try {
try {
applInfo = applicationDirectory().instanceInfo(applId);
} catch (InvalidKeyException e) {
logger.warn ("Application " + applId + " removed without removing "
+ "associated timer (may be race condition).");
return;
}
auk = applInfo.activityUniqueKey();
if (logger.isDebugEnabled ()) {
logger.debug
("Handling timeout for application " + applId
+ (auk == null ? "" : (", " + auk)));
}
applicationDirectory().removeInstance (applId);
if (auk == null) {
if (logger.isDebugEnabled ()) {
logger.debug ("Nothing to do for application " + applId
+ " (no associated activity)");
}
return;
}
resParam = (String)((Object[])applInfo.state())[1];
ActivityLocal act = null;
try {
Long pk = Long.valueOf (auk.activityKey());
act = activityLocalHome().findByPrimaryKey(pk);
} catch (FinderException nex) {