Weblogic Integration JPD运行问题

210学习笔记-李明视频学习笔记1.1 arm-linux-gcc参数 -S                       Compile only; do not assemble or link 阅读详情

环境Weblogic 8.1 + JDK 1.4

 

业务:从数据库中取出需要发送邮件的数据(sendFlag = 'N'),逐条发送邮件,发送完毕后,更新数据库中的标志(sendFlag = 'Y'),大概代码如下:

  1. package processes.YYYYYMail; 
  2. import com.bea.jpd.JpdContext;
  3. import com.bea.data.RawData;
  4. import com.bea.xml.XmlObject;
  5. import java.text.SimpleDateFormat;
  6. import java.util.ArrayList;
  7. import java.util.Date;
  8. import java.util.HashMap;
  9. import processes.EPSendErrorMail;
  10. /**
  11.  * @jpd:process process::
  12.  * <process name="YYYYYMail">
  13.  *   <onException name="OnException">
  14.  *     <perform name="onException" method="onException"/>
  15.  *   </onException>
  16.  *   <clientRequest name="Subscription" method="subscription"/>
  17.  *   <perform name="perform" method="perform"/>
  18.  * </process>::
  19.  * @jpd:xquery prologue::
  20.  */
  21. public class YYYYYMail implements com.bea.jpd.ProcessDefinition
  22. {
  23.     static final long serialVersionUID = 1L;
  24.     
  25.     public Callback callback;
  26.     
  27.     /*
  28.      * The area above this comment contains Variable Declarations created from the Design View.
  29.      * The area below this comment contains Control Declarations created from the Design View.
  30.      * 
  31.      * Code in these areas is generated automatically.
  32.      * 
  33.      * 2-Way editing is fully supported in these areas of code.
  34.      * Warning: changing Process Variables and Control Declarations already in use by your application
  35.      * may generate errors in your application if you do not update these declarations
  36.      * in all locations where they are used.
  37.      */
  38.     /**
  39.      * @common:control
  40.      */
  41.     private processes.YYYYYMail.DBControl dbControl;
  42.     
  43.     /**
  44.      * @common:control
  45.      */
  46.     private processes.YYYYYMail.MailControl mailCrontrol;
  47.     /**
  48.      * @common:context
  49.      */
  50.     JpdContext context; //(..control insertion marker - do not modify this line) 
  51.     
  52.     /*
  53.      * The area below this comment contains java methods referenced by communication nodes in the Process Language.
  54.      *
  55.      * Code in this area is generated automatically.
  56.      *
  57.      * 2-Way editing is partially supported in this area of code.
  58.      * Warning: you can safely add code inside a method body but it must be outside of any PROTECTED SECTION
  59.      * block comments. Modifications to code within these comments will prevent you from viewing information
  60.      * in the Design View builder that generated this code.
  61.      */
  62.     
  63.     /**
  64.      * @jpd:mb-static-subscription message-body="{x0}" channel-name="/XXXX/YYYYYMailTimerChannel"
  65.      */
  66.     public void subscription(java.lang.String x0)
  67.     {
  68.         //#START: CODE GENERATED - PROTECTED SECTION - you can safely add code above this comment in this method. #// 
  69.         // input transform 
  70.         // parameter assignment 
  71.         //#END  : CODE GENERATED - PROTECTED SECTION - you can safely add code below this comment in this method. #// 
  72.     }
  73.     public interface Callback //(..region end marker - do not modify this line) 
  74.     {
  75.     }
  76.     
  77.     /*
  78.      * Code inserted below this comment is for methods corresponding to Perform or Condition nodes
  79.      * created in the Design View.
  80.      *
  81.      * Feel free to make modifications or add new code here.
  82.      */
  83.     
  84.     public void perform() throws Exception
  85.     {      
  86.         HashMap[] hmMailList = this.dbControl.getMailData();
  87.         
  88.         if(hmMailList == null || hmMailList.length == 0){
  89.             return;
  90.         }     
  91.         this.log("Mail count", hmMailList.length + "");
  92.         
  93.         String YYYYYMailTo = dbControl.getParaValue(); 
  94.         ArrayList mailTo = new ArrayList();
  95.         mailTo.add(YYYYYMailTo);
  96.         
  97.         Mail mail = new Mail();
  98.         
  99.         for(int i = 0; i < hmMailList.length; i ++){
  100.             
  101.             String mailSubject = formatObject(hmMailList[i].get("CREATE_DATETIME")) + "";
  102.             StringBuffer mailBody = new StringBuffer();
  103.                         //........................... 
  104.             mailBody.append("建立人员:" + formatObject(hmMailList[i].get("CREATE_USER")));
  105.             this.log((i + 1) + " mailSubject", mailSubject);        
  106.             this.log((i + 1) + " mailBody", mailBody.toString());
  107.             
  108.             mail.sendMultiMail(mailTo, mailSubject,  mailBody.toString());
  109.           
  110.             dbControl.updateSendFlag(formatObject(hmMailList[i].get("SEQ_NO")));
  111.         }       
  112.     }
  113.     
  114.     private void log(String item, String value){
  115.         SimpleDateFormat sdf = new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss]");
  116.         StringBuffer sb = new StringBuffer();
  117.         sb.append(sdf.format(new Date()))
  118.         .append("[XXXX][" + item + "=" + value + "]");
  119.         System.out.println(sb.toString()); 
  120.     }
  121.     
  122.     private String formatObject(Object o){
  123.         if(o == null){
  124.             return "";
  125.         }
  126.         return ((String)o).trim();
  127.     }
  128.     public void onException() throws Exception
  129.     {
  130.         //出错时,则发送Email 
  131.         new EPSendErrorMail().sendErrorMail(context);
  132.     }
  133. } 

打包后发布到 Weblogic Integration上,配置该JPD每2 second运行一次;

在数据库中准备好两条记录(即需要发送两封Mail)

 

问题现象:

发送发出了三封邮件,其中要两封是一样的。

 

问题分析:

调试发现,因该JPD每2s运行一次,在上一次运行还没有结束的时候,下一次已经开始运行,结果导致后面一次运行取到的数据是上一次运行准备处理的数据,于是就出现了重复的邮件;

 

简单解决方法:

将运行时间间隔加长,确保每次运行时,上一次已经结束。

 

 

关于WebLogic Integration的常见问题 关于WebLogic Integration的介绍,流程,任务处理,应用集成,部署,管理等方方面面。 Integration精华贴总结 总结人:包力(dev2dev ID:baoli) 立即下载

相关推荐

WebLogic Integration完整案例教程.rar

WebLogic Integration完整案例教程.rar

Eboot中应用NandFlash

注:本文nand flash 是基于K9F1G08U0B   K9F1G08U0B的阵列结构图如下   图1 Nand flash存储操作特点: 以页为单位进行读写,以block为单位进行擦除   我们基于usb来download镜像的eboot来学习nandflash的应用,download的菜单一般如下所示:   图2 基于usb来download内核映像的步骤是

专注嵌入式 -- 分享、进步 1430

Simplicity Studio V5与EFR32BG22蓝牙开发环境实战指南

本文详细介绍了Simplicity Studio V5集成开发环境与EFR32BG22蓝牙芯片的开发实战指南。内容涵盖开发环境安装、SDK配置、项目创建、调试烧录、外设驱动集成及常见问题解决方案,帮助开发者快速上手物联网蓝牙应用开发,并充分利用EFR32BG22的低功耗与高集成度特性。

v5w6x的博客 320

weblogic 体系结构

原文转自:   http://blog.youkuaiyun.com/tianlesoftware/article/details/5827245 如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。 如果一条SQL平时执行的好好的,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本可以断定是执行计划出了问题。               看懂

changyanmanman的专栏 8892

行政数据分析大屏实战:用Tableau从Excel到看板的完整搭建流程(含数据连接与字段计算避坑)

本文详细介绍了如何利用Tableau从Excel数据源搭建行政数据分析大屏的完整流程,涵盖数据准备、连接技巧、计算字段优化、看板设计及动态交互部署。通过五阶工作流,帮助用户高效处理多源异构数据,实现业务洞察与可视化呈现,提升行政数据分析效率。

weixin_29696711的博客 341

LSTM cell结构的理解和计算

LSTM是传统RNN网络的扩展,其核心结构是其cell单元,网上LSTM的相关资料繁多,质量参差不齐,下面主要结合LSTM神经网络的详细推导和 Christopher Olah的blog两篇文章中的内容进行说明。主要介绍网络如何计算,为何这么算先不展开:)。前者一副图加上29个公式,简洁明了;后者娓娓道来,适合初学者。首先是LSTM cell最常见的结构图: 这是变形的版本(找不到更清晰的版本了),

songhk0209的博客 2万+

Code Area和Data Area有什么区别

Code Area FLASH :程序在这个flash运行时,几乎没有延时, 运行速度以时钟设置为准。 Data Area FLASH: 程序在这段flash运行时,每条语句都有延时, 最后的速度可能是以10M为时钟(举例) 这时候, 如果有与时序相关的语句在此执行(IIC等), 很有可能会出问题。 ...

xuhao0258的博客 2585

告别降级CUDA!手把手教你为RTX 50系显卡(5080/5090)配置专属的PyTorch Nightly + vLLM推理环境

本文详细指导如何为RTX 50系显卡(5080/5090)配置专属的PyTorch Nightly和vLLM推理环境,特别针对CUDA 12.8的适配问题提供解决方案。从硬件准备到源码编译,再到模型部署与性能调优,手把手教你构建高效AI推理系统。

weixin_33724046的博客 409

BEA WebLogic Integration 8.1试用感觉

BEA WebLogic Integration 8.1是一个为快速重用组件而设计构建的解决方案,它的应用领域有:● 业务流程管理:允许用户跨多个内部系统执行业务流程。● 企业资源访问:提高人员和系统的响应速度。● 动态集成服务:提供统一平台,将各种集成项目与应用,设计、构建、                扩展、集成、部署、管理端到端的业务流程。                其中Busines

【洪波@阿里云】 2162

sap2000 api matlab,SAP2000_API入门指南.pdf

SAP2000_API入门指南北 京 金 土 木 软 件 技 术 有 限 公 司Beijing Civil King Software TechnologyCo., Ltd.SAP2000 API 入门指南余承飞 韦群跃 汤娣概述SAP2000 API 是从 SAP2000 V11 开始引进的,即应用软件编程接口。用户可以编写程序,通过API 随心所欲地调用 SAP2000...

weixin_42118423的博客 1941

基于YOLOX与LPRNet的车牌检测与识别系统(Python+UI界面)实战指南

本文详细介绍了如何利用YOLOX目标检测模型与LPRNet车牌识别模型,从零构建一个完整的车牌检测与识别系统。通过解析CCPD数据集、训练深度学习模型,并最终集成到PyQt5开发的图形化UI界面中,提供了一个从数据处理到应用部署的完整实战指南,帮助开发者快速掌握智能交通系统中的关键技术。

weixin_29230901的博客 341

JPD update failure升级到WLI10.3.1失败

WLI8.1 jpd无法升级的问题 IMPORTING OF WLI 8.1 JPDS INTO WLI 10.3.1 DOES NOT WORK.

woohooli的专栏 2786

Python经典编程习题100例:第32例:相反顺序输出列表

不要自卑,去提升实力 互联网行业谁技术牛谁是爹 如果文章可以带给你能量,那是最好的事!请相信自己 加油o~ 本人初学Python,只为熟悉语法编写,大神请勿理会 点击下面链接 Python经典编程100例习题汇总 题目描述: 按相反的顺序输出列表的值。 解题思路: > 利用reverse函数逆序 代码: arr=['f','g','e','b'] print(arr) arr.reverse() print(arr) ...

优快云 精品推荐 1417

使用WEBLOGIC PORTAL规则引擎在WEBLOGIC INTEGRATION流程中实现动态业务逻辑

使用WEBLOGIC PORTAL规则引擎在WEBLOGIC INTEGRATION流程中实现动态业务逻辑,第一部分 时间:2006-03-13作者:Jitendra Gupta, Mark Miller, Venkatakrishnan Padmanabhan浏览次数: 729

qyok的专栏 857

一文读懂 CST 时/频域求解器

本文系统介绍了CST Studio Suite中的关键网格技术——六面体网格、四面体网格以及TLM求解器专用的八叉树非均匀网格技术。重点阐述了六面体网格的三项核心技术:理想边界拟合(PBA)技术可精确处理曲面边界,薄片技术(TST)能高效模拟薄层结构,自适应八叉树网格实现计算资源最优分配。同时详细对比了六面体网格与四面体网格的特点及适用场景,前者适用于系统级EMC/EMI分析等时域问题,后者擅长处理复杂曲面和异质材料的频域问题。

一只豌豆象的博客 465

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

关于BEA的工作流产品

      最近在研究BEA的工作流产品线,看的太迷糊了,请明白人给小弟指点一下吧。        首先有个产品叫做BEA AquaLogic BPM,还有个产品叫做BEA WebLogic Integration,两者都有工作流的功能,后来在dev2dev.bea上有人问两者区别,版主说前者是专门的WorkFlow工具,而后者是EAI工具,但是里面也包含工作流工具。而AquaLogic BPM是...

零雨其蒙 203

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

weblogic oracle bus,WebLogic Integration和Oracle Service Bus之间的区别?

这得看情况.OSB将整合现有的BEA Aqualogic Service Bus.它只是一个服务巴士.WLI将不复存在.现在它将成为Oracle BPEL PM(Oracle BPEL流程管理器执行引擎)的一部分服务总线可用于集成web服务“就绪”应用程序.如果您的小型应用程序已经可以作为Web服务部署,那么这将是正确的选择,那么就没有什么可以协调它,只是,暴露它们.另一方面,WLI用于协调服务之...

weixin_29890403的博客 155

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

BEA WebLogic Integration8.1简介--统一集成环境

导读:   企业应用集成现在是企业IT策略的核心,但是由于某种原因,其成本的投入和所获得的效益现在还不能令人满意:现在典型的IT组织结构都将应用程序的开发和集成隔离开来。   BEA WebLogic Integration 8.1将应用程序的开发和集成技术合并为一个统一的平台,在二者之间构建了一座桥梁。它利用BEA WebLogic Server作为底层部署环境,使用Web服务集成公司内外的分布...

编程资料大全 194

weblogic概述

     weblogic flatform的大致架构和组件。weblogic是现在流行的j2ee中间件之一,还有IBM的websphere. weblogic有一下组建组成     weblogic server :服务器,weblogic的核心。     weblogic workshop :集成开发环境。     weblogic portal:portal是一种像 普通窗口的网页。...

lifeneedyou的专栏 408

090723 T Code Generate 的思考

今天看了公司(易车)原来团队开发的部分项目的代码,发现很多项目是基于Typed DataSet或NetTiers的,两者都是代码生成器(Code Generator,以下简称CG),前者是VS自带的工具,而后者则是第三方开发,同样的还有CodeSmith、动软等。这些CG的输入/信息来源,大都是数据库中的元数据。 其实,我个人也开发过CG。第一个是在上海外高桥实习时用于转换C语言到C#语言的转换...

weixin_34258782的博客 143

有关core data有关Codegen使用过程中出现的问题

1.项目中总是报错/Users/apple/Library/Developer/Xcode/DerivedData/PD_Citylife-axvrskubrbkymycfrhjevtihwaeo/Build/Intermediates/PD_Citylife.build/Debug-iphonesimulator/PD_Citylife.build/Objects-normal/x86_64中出现

逸轻紫的博客 1019

WebLogic教程

Apache Jakarta POI项目提供了用于访问和生成Excel文档的组件。POI HSSF API用于生成ExcelWorkbook以及将Excel电子表格添加到workbook。Excel电子表格由行和单元格组成。电子表格的页面布局和字体也使用POIHSSF API进行设置。  通常要求将数据库表呈现在Excel电子表格中。同样,开发人员的需求也可以保存到数据库表中的Ex

reamerit的专栏 6205

最新版本WebLogic安装、部署、调试

最新版本WebLogic安装、部署、调试WebLogic安装下载WebLogic安装包安装WebLogic配置域进入Console部署Application到WebLogic本地手动部署Application应用概览界面应用配置界面应用部署路径测试应用监视界面IDE配置自动部署应用更新部署卸载部署的应用 WebLogic是美国Oracle公司出品的一个application server,确切的...

wangxudongx的专栏 3790

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

要努力去发光,而不是被照亮~ 144
上一篇: WLI:There are running instances with incompatible serialization shape问题解决
下一篇: 一个 XSD 实例 解析
fzzmouse
博客等级 码龄21年 14粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值