Friday, February 6, 2015

Oracle SOA BPM : Get list of faulted BPMN instances using SOA managment API's

Below is the code to get list of BPMN instances which are faulted.

package com.raylabs.bpel;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
import javax.naming.Context;
import oracle.soa.management.facade.Locator;
import oracle.soa.management.facade.LocatorFactory;
import oracle.soa.management.util.MessageFilter;
import oracle.soa.management.facade.bpm.BPMInvokeMessage;
import oracle.soa.management.facade.bpmn.BPMNServiceEngine;
public class Class1 {
public Class1() {
super();
}
public static void main(String[] args) {
Locator locator = null;
BPMNServiceEngine mBPMNServiceEngine;
Map<Integer, String> states = new HashMap<Integer, String>();
states.put(0, "Undelivered");
states.put(1, "Resolved");
states.put(2, "delivered");
states.put(3, "Cancelled");
states.put(4, "Exhausted");
try {
locator = LocatorFactory.createLocator(getConnectionForLocator());
mBPMNServiceEngine =
(BPMNServiceEngine)locator.getServiceEngine(Locator.SE_BPMN);
MessageFilter filter = new MessageFilter();
// 0 for Undelivered
// 1 for Resolved
// 2 for delivered
// 3 for Cancelled
// 4 for exhausted
int[] state = { 0, 3, 4 };
filter.setStates(state);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -10);
filter.setMinCreationDate(cal.getTime());
List<BPMInvokeMessage> recoverable =
mBPMNServiceEngine.getInvokeMessages(filter);
ListIterator it = recoverable.listIterator();
while (it.hasNext()) {
BPMInvokeMessage instance = (BPMInvokeMessage)it.next();
System.out.println("Composite name :" +
instance.getCompositeDN());
System.out.println("ECID :" + instance.getEcid());
System.out.println("State :" +
states.get(instance.getState()));
System.out.println("Conversation id :" +
instance.getConversationId());
System.out.println("------------------------------------");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
locator.close();
}
}
public static Hashtable getConnectionForLocator() {
Hashtable jndiProps = new Hashtable();
jndiProps.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
jndiProps.put(Context.PROVIDER_URL,
"t3://xxxxxx:1234/soa-infra");
jndiProps.put(Context.SECURITY_PRINCIPAL, "xxxx");
jndiProps.put(Context.SECURITY_CREDENTIALS, "xxxxxxx");
jndiProps.put("dedicated.connection", "true");
return jndiProps;
}
}


Libraries :


No comments:

Post a Comment