扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年8月24日
关键字:
这个控件的实现使用了JMS QueueBrowser类来查看一个带有给定的JMS连接工厂的给定JMS队列。它返回队列中等待处理的实例个数。本文所附的代码中提供了完整实现。
启动和停止工作流的Web服务
为了启动和停止负责把工作单元分发给请求队列的WebLogic Integration流程,我们创建了一个Java Web Service (JWS),它服从JSR 181,带有两个方法。public classControlWebService implements
com.bea.jws.WebService {
/**
* @common:control
*/
private Controls.JMSStopControlMessage JMSStopControl;
/**
* @common:control
*/
private Controls.JMSControlMessage JMSControl;
static final long serialVersionUID = 1L;
/**
* @common:operation
*/
public void startFlow() {
JMSControl.subscribe();
JMSControl.sendTextMessage("start");
JMSControl.unsubscribe();
}
/**
* @common:operation
*/
public void stopFlow() {
JMSStopControl.subscribe();
JMSStopControl.sendTextMessage("stop");
JMSStopControl.unsubscribe();
}
}
该Web服务不是直接调用工作流,而是把一条消息放在JMS队列中,然后调用Worker.Message把消息发送给分发JPD。这解除了Web服务实现与工作流之间的耦合,以保持其模块性。在WebLogic Integration中,有一个概念叫做事件生成器,可以使用WebLogic Integration Administration Console对它进行配置您可以把事件生成器配置为从JMS Worker.Message中取出消息,然后将其交付给一个Message Broker通道(逻辑概念)。分发工作流监听/UnitOfWork/StartWorkflow通道,该通道被绑定在与JMS Worker.Message队列相关联的JMS事件生成器上。只要有一个String “start”消息交付到此通道上,工作流就会开始工作。类似地,开始之后,分发工作流就会在它的一个Event Choice节点中监听Message Broker通道(/UnitOfWork/StopWorkflow),以便从Worker.StopMessage JMS队列接收”stop”消息。然后,事件生成器再次把Worker.StopMessage队列上的JMS消息关联到/UnitOfWork/StopWorkflow通道,以便交付消息。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者