整合 WebSphere ILOG JRules 与 IBM Content Manager Enterprise Edition
2010-09-15 00:00:00 来源:WEB开发网清单 1 显示了 myEventHandler 示例程序的总体结构。下面是关于这个程序功能的总体描述:
这个程序导入下面必要的程序包:
用于访问 JMS 队列 的 JMS 和 Java Naming and Directory Interface (JNDI) 程序包
用于发送电子邮件的 JavaMail 程序包
用于解析事件消息的 SAX API 程序包
用于查询内容数据的 Content Manager API 程序包
用于创建规则会话的 ILOG API 程序包
myEventHandler 类实现了两个 JSM 监听器:
javax.jms.MessageListener 接口的 onMessage 方法负责监听 JMS 队列。
javax.jms.ExceptionListener 接口的 onException 负责处理 JMS 异常。
两个用于解析事件消息的内部类:
myContentHandler 类扩展了 SAX API 的 DefaultHandler 类,它负责解析事件消息。
myErrorHandler 类实现了 SAX API 的 ErrorHandler 接口。
函数 sendMail 负责创建电子邮件并使用 JavaMail API 将通知发送给接收者。它是在接收到一个事件消息时由函数 onMessage 调用的。
函数 executeILOGRules 将一个请求发送到 ILOG JRules 规则引擎再执行规则。这个规则引擎会评估贷款申请,然后返回响应给调用者。
当 myEventHandler 类初始化时,函数 waitForQUIT 就会被调用。它会提示用户执行 quit 命令。当接收到一个 quit 命令时,myEventHandler 类就会退出。
清单 1. 程序结构
// JMS API
import javax.jms.*;
// JNDI API
import javax.naming.*;
// Java IO and utility
import java.io.*;
import java.util.*;
// SAX abd XML parsing
import org.xml.sax.*;
import org.xml.sax.helpers.*;
// JavaMail API
import javax.mail.*;
import javax.mail.internet.*;
// CM API
import com.ibm.mm.sdk.server.*;
import com.ibm.mm.sdk.common.*;
// ILOG API
import ilog.rules.res.session.*;
import ilog.rules.res.model.*;
import ilog.rules.res.session.ruleset.*;
public class myEventHandler extends Thread
implements javax.jms.MessageListener, javax.jms.ExceptionListener
{
static class myContentHandler extends DefaultHandler
{
// methods in the myContentHandler class
}
static class myErrorHandler implements ErrorHandler
{
// methods in the myErrorHandler
}
public void run()
{
this.waitForQUIT();
}
private void waitForQUIT() throws Throwable
{
// prompt for the QUIT command to exit
}
public myEventHandler(String database, String userid, String pw) throws Throwable
{
// set up JMS connection
// initialize SAX parser
// start the thread for waiting the QUIT command to exit
}
public static void main(String[] argv)
{
// start the myEventHandler instance
myEventHandler eh = new myEventHandler(argv[0], argv[1], argv[2]);
}
public void onMessage(javax.jms.Message message)
{
// listen to the JMS queue
// retrieve a JMS message
// parse the JMS message to obtain the event data
// process the event data
// compose an e-mail
// call the sendMail function to send out an e-mail notification
}
public void onException(JMSException exc)
{
// print the error message when a JMS exception occurs
}
public void sendMail(String mailhost, String from, String[] to,
String subject, String text)
{
// send an e-mail notification to the claim reviewers
}
public IlrSessionResponse executeILOGRules(String firstName,
String lastName, int loanAmount, int duration,
float interestRate, int creditScore, int yearlyIncome)
{
// send a request to ILOG JRules rule engine for rule execution
// an IlrSessionResponse object is returned with the evaluation result
}
}
- ››WebSphere Application Server 7.0 XML Feature P...
- ››WebSphere 反向投资者: 解决 WebSphere Applicati...
- ››WebSphere sMash 的创新应用,第 2 部分: 借助包装...
- ››整合 DB2 与 AIX 的 WLM 功能进行工作负载管理
- ››Websphere MQ v6集群的负载均衡新功能
- ››WebSphere Process Server V6.0.2 集群,第 2 部分...
- ››WebSphere Process Server V6.0.2 集群,第 1 部分...
- ››WebSphere MQ性能调优浅谈
- ››WebSphere配置资源库管理
- ››WebSphere中的SSL/TLS:用法、配置和性能
- ››websphere ejb远程/本地调用总结
- ››WebSphere Application Server对SIP的支持
更多精彩
赞助商链接