WEB开发网
开发学院软件开发Java 整合 WebSphere ILOG JRules 与 IBM Content Mana... 阅读

整合 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) 程序包用于发送电子邮件的 JavaM

清单 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 
  } 
}       

上一页  5 6 7 8 9 10 

Tags:整合 WebSphere ILOG

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接