自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 CountDownLatch踩过的坑

线上生产环境dubbo报线程池满了,经过一天排查锁定在开三个线程计算最后合并数据的步骤中。简单描述下该步骤线程开三个 调用三个不同的方法 使用countdownlatch 计数器等待三个方法全部执行完成 合并数据。但是由于其中一个方法调用第三方接口,接口返回异常导致转换数据报错。导致其中一个方法未正常完成。举例demo:public static void main(String[] a...

2018-08-26 18:57:49 23893 18

原创 利用redis统计分布式集群中接口缓存命中情况

接口使用了缓存,想看看缓存命中率,到底提升了多少了?固想到做个统计方法,单机情况下使用 AtomicImteger,考虑到分布式集群中多台服务器调用,所以考虑使用redis进行统计 原来的想法很简单用分布式锁  控制每次只有一个线程进行操作,但是需要进行获取数据 数据+1 再进行数据放入 三步过程 没有获取到锁的线程 进行等待后重试获取锁 但是此种情况会出现某些线程饿死,为了防止线程饿死又要做成 ...

2018-06-21 14:42:27 722

原创 一个程序猿的2018年终总结

时光荏苒,一年又过去了。记得上次写年终总结仿佛是昨天一样。有这样感觉是因为2017年一年啥也没干。既然决定要写年终总结,我还是将过去的一年梳理一下。2017年是我的本命年,而我也进入了24周岁了。在奔三的路上更近一步了。接下来用一些文字记录下2017年发生的事情。一是作为对过去的一个总结,二是锻炼一下自己文档的编写能力。从三个方面去谈过去的一年,感情,工作,经济。不用事业用工作,是因...

2018-02-09 08:42:53 2164 3

原创 一个程序猿的年终总结

农历春节即将到来 ,辞旧迎新之际发表一下过去一年的总结。我在2016年6月正式告别了我的学生时代,也就是说我踏入社会了。在大学学了什么?大家都会问自己这个问题,也会问别人。我来说下四年大学我学会了什么(扯一扯闲篇),一个字宅,两个字睡觉,三个字打游戏 后面不说了。就说这三点,宅导致我现在光棍一人,睡觉导致我现在150斤,打游戏嘛导致我现在有份工作^_^。 我没写过这个什么年终总结。

2017-01-23 09:24:45 914 1

转载 ActiveMQ性能优化

ActiveMq运行是比较稳定的,数据的吞吐速度也很高,如果出现入队列或者出队列慢的问题,先检查一下自己的代码,是不是本身取到数据后处理过慢。本文的关于性能优化,其实是列举出一些需要注意的点,请确保你的项目没有一下问题:1. 使用spring的JmsTemplateJmsTemplate的send和convertAndSend会使用持久化mode,即使你设置了NON_PER

2016-12-11 17:22:45 3529

转载 ActiveMQ集群应用

ActiveMQ集群        ActiveMQ具有强大和灵活的集群功能,但在使用的过程中会发现很多的缺点,ActiveMQ的集群方式主要由两种:Master-Slave(ActiveMQ5.8版本已不可用)和Broker Cluster。1、Master-Slave        Master-Slave方式中,只能是Master提供服务,Slave是实时地备份Mas

2016-12-10 19:20:34 442

转载 ActiveMQ实现负载均衡+高可用部署方案

一、架构和技术介绍1、简介ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现2、activemq的特性1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp RE

2016-12-09 16:23:38 385

转载 ActiveMQ入门实例

1.下载ActiveMQ去官方网站下载:http://activemq.apache.org/2.运行ActiveMQ解压缩apache-activemq-5.5.1-bin.zip,然后双击apache-activemq-5.5.1\bin\activemq.bat运行ActiveMQ程序。启动ActiveMQ以后,登陆:http://localhost:8161/a

2016-12-07 21:08:38 296

转载 MQ概念

MQ的基本概念:1)队列管理器队列管理器是MQ系统中最上层的一个概念,由它为我们提供基于队列的消息服务。2)消息在MQ中,我们把应用程序交由MQ传输的数据定义为消息,我们可以定义消息的内容并对消息进行广义的理解,比如:用户的各种类型的数据文件,某个应用向其它应用发出的处理请求等都可以作为消息。消息有两部分组成: 消息描述符(Message Discr

2016-12-07 21:02:48 505

原创 OAF学习笔记-23-OAF中将数据库中的表导出生成xls ,xlsx,csv 等格式

思路:OAF的运行机制中是将数据库的数据存放在VO 之中,所以新建VO 在CO中通过AM调用VO 获取数据,在通过Java 对数据进行遍历写进文件中 (利用java中I/O 流和Apache 的POI组件)新建CO的过程略 我是通过EO 导入POI的jar包 根据需要导入jar包   Jar包导入过后 做一个test页面 显示数据 并制作一个...

2015-09-14 21:39:39 2855 2

原创 OAF学习笔记-22-多层菜单的制作

思路:利用系统中的HGrid 控件从数据库中将菜单抓出来父菜单的id 作为区别子菜单做两个VO 一个VO是父菜单另一个VO 是子菜单SOBVO(父菜单)自己增加一列 selectflag 作为勾选的一列OUVO(子菜单)set_of_books_id 作为父菜单辨别(分类)建VL(view link 联系两个VO 配两个的关系)Selec

2015-09-11 12:56:13 1704

原创 OAF学习笔记-21-修改系统的standard code跨页面传值

思路:纯粹是Web的跨页面传值的方式,session等方式,不修改standard code的情况下就需要看时候有session,如果有就获取就行了,没有则不能获取,如果是客制和客制之间则需要putSessionValue就可以了在需要的地方get就好了由于不知道是否设置了session,所以要对值进行识别,是否可传通过找到页面控制的CO及CO的路径

2015-09-10 13:04:33 936

原创 OAF学习笔记-20-在系统页面制作Tab页(系统中有Tab页,自己增加Tab)

思路,系统页面(具体不知道页面的Tab是怎么制作的)所以需要EBS看系统的Tab是怎么做的(无tab页的系统页面需要新增,可以参考上一点)(目前的解决方案,以后有好的的会更新,也是不靠谱的)(我这里的系统Tab是用HomePage)将客制的Tab添加进去之后,系统页面会有客制Tab但是在客制页面中是没有系统的Tab,所以想法是在客制的页面中添加系统的几个Tab

2015-09-09 13:25:14 627

原创 OAF学习笔记-19-在客制页面做出Tab(标签页)

思路:多页面可以在页面heard页面上制作Tab页(客制页,没有Tab页的系统页面可用这种方法,系统页面中增加客制页见下一问题)系统中客制页面的heard 不能再页面中进行修改要在heard,只能在EBS系统中进行配置 大致流程为Tab->Home Page->Standard为页面的function  制作tab页 Type为HTML Tab  Prompt为空

2015-09-08 15:08:17 1394

原创 OAF学习笔记-18- Update后页面显示不是最新的数据的解决方法

不知道遇没遇到这种情况,我是遇到了.(应该哪里没有设置属性,或是别的)于是自己做了个不靠谱的方法.已解决问题思路:在更新时,获取到查询条件值,并将条件值写入AM中,Update后跳转回查询页面,并将AM中的条件值取出,直接在进行一次查询….CO中的processFormRequest Update的触发中获条件的值.在UpdateCO中processFormRe

2015-09-07 13:04:36 613

原创 OAF学习笔记-17-跨CO传参(平级,上下级)

经常会有不同层的需要进行参数的传递例如CO传给VO CO传给CO.思路:方法一:因为实现统一系列功能CO或是VO都会加入到同一AM中,所以可以靠AM来进行传递;方法二:通过URL进行跳转,将参数绑定后下个页面接受在绑定URL传递(最简单,最原始,同CO)例子QueryCO->UpdateCO->QueryCO 传值;(方法二是注释掉的)获取三个值,通过 pageCo

2015-09-06 12:59:06 474

原创 OAF学习笔记-16-自定义异常的抛出

在OAF中所有的Error 和Warning 页面显示都是由异常进行抛出的,异常有多种例子:在点击删除时,弹出一个提示页面,是否删除思路::再点击删除时抛出一个普通的异常OAException 点击后处理,所以在CO中进行处理(processFormRequest)设置提示语句Do you want to delete 并且设置两个按钮DeleteYesButt

2015-09-02 13:02:49 671

原创 OAF学习笔记-15-大文本(过长,英文数字)在table 中换行显示

思路:两种解决方法,第一种使用MessageTextInput  主要是修改widthlength,超出length的自动换行.再将Disabled 设为True (不允许修改里面的值) (此种方法易于实现且兼容性好)第二种使用MessageStyleText 这个是没有办法对Length进行修改的,所以对属性的修改不会产生换行效果所以要使用一种”特殊的方法” 给Item自

2015-09-01 12:57:21 1542

原创 OAF学习笔记-14-CO中获取VO中的值

前提是该值已经在VO中了思路:VO 是自己从数据库查出的 数据 CO可以调用AM AM可以调用VO 能否在CO中直接调用VO在VO已查出的数据中,取出需要属性.系统提供这种函数在CO中 获取当前AM,再从AM中获取需要的VO(CO->AM->VO,OAF是一个MVC架构).从VO中获取当前Row数据(从数据库中找出的数据,都放在Row中).从Row获取需要的属性值. S

2015-08-28 14:10:47 1914

原创 OAF学习笔记-13- CO ,在页面加载前,给页面Item赋值

页面有些Item 需要动态赋值,(一种在属性设置面板设置动态赋值,另外一种是Java赋值,这里介绍的是java中实现的.属性设置以后OK了就添加)思路 获取Item 控件 设置(主要是系统函数,由于OAF没有API 文档)MessageChoice 存: OAMessageChoiceBean groupBean=(OAMessageChoiceBean

2015-08-27 13:56:53 1763

原创 OAF学习笔记-12- 从系统获取ID值,查出Name,在页面显示

思路:通过调用系统函数,获取到系统的值,系统中只能存储ID ,所以根据ID在数据库中Name 在页面显示 (例OUID 和OU Name)新建VO将VO添加进AM之中在CO 的processRequest 函数中调用 pageContext.getOrgId(); 从系统中获取到OrgId;在AM中编写函数queryOUanSOB(String Or

2015-08-26 13:09:15 1012

原创 OAF学习笔记-11-页面传值(传ID,显示为Name)

思路:1通过Java 将Name 获取在CO 中调用函数查出 ID 在传入VO(尚未实现,只是一个思路)2 通过设置隐藏的Item 传值给VO (将ID隐藏   ,LOV找出ID赋给ID)此方法较简单些在MainRN中新建一个Item (删除原来的Lov的)将Item Style 设置为formValue(这个类型是为了页面传值的,隐藏不会显示在页面上)

2015-08-25 13:23:16 806

原创 OAF学习笔记-10-Update的操作

思路(不需要判断可不可以更新) 直接增加一个显示栏位UpdateImage栏位(和delete 很相似) Action Type: fireActionEvent:updateParameters:CO中进行处理()  processFormRequest()函数中跳转页面UpdatePG (其实是复制CreatePG改的名字

2015-08-24 15:12:25 488

原创 OAF学习笔记-9-创建的操作

思路:信息填好后点击提交会进入 CO, 在CO中操作AM ,AM直接commit CO:AM:

2015-08-21 13:01:49 452

原创 OAF学习笔记-8-在AM中直接调用sql 语句(PLSQL函数)

思路:在AM中我们以及可以使用VO 进行sql语句条件的修改以满足自定义的条件的搜索,为什么不可以自己编写的sql语句?(以delete作为例子,用VO的删除,遇到了不能删除的尴尬,应该是自己有的地方有错误,自己之后找到原因就补上)OADBTransaction oadbtransaction =(OADBTransaction) getDBTransaction();获取Tran

2015-08-20 14:22:43 1866

原创 OAF学习笔记-7-delete 删除 的操作

思路 修改VO的sql 语句使table 有一个DeleteSwitcher 作用是标记是否删除,在页面table 上加一个栏位 DeleteSwitcher  作用是对应sql语句中的和触发删除操作设置两个case一个对应DeleteEnable一个对应DeleteDisable图标使用系统之中的图标Action Type:fireActi

2015-08-19 13:30:15 777

原创 OAF学习笔记-6-选择时间的控件

思路 :和普通输入框一样 只要修改Tip Type 就行了将Tip Type 修改成dateFormat将时间设置为当前时间 并不允许将时间设置为过去时间(在EO 设置时间中键入验证方法)

2015-08-18 15:19:27 711

原创 OAF学习笔记-5-点击按钮页面跳转

思路 :点击按钮是进入CO所以在CO类进行跳转如果按钮不设置FireAction 则为get以点击Create 跳转 创建界面为例子 用 pageContext.setForwardURL函数页面就可以跳转了

2015-08-17 13:06:53 1008

原创 OAF学习笔记-4-lov的制作

思路(和下拉框类似)新建ReportLovVO    插入sql语句: SELECT  report_code , report_name FROM apps.xxbg_crystal_reports_v  查出 report_code,report_name VO一定要添加进AM不一样的地方  新建一个Region 命名为ReportLovRN新建 table U

2015-08-14 14:50:39 887

原创 OAF学习笔记-3-下拉框级联

思路,类似于两个下拉框,(两个VO 一个VO中的属性作为另一个VO中的条件,选择前一个VO的值,提交后查找第二个VO )创建两个VOSOBVO:SOBOUVO:Item修改为MessageChoice注:Picklist View Instance与Picklist View Definition分清楚 ,SOBVO放在Pickl

2015-08-13 15:55:13 897 1

原创 OAF学习笔记-2-下拉框的制作

思路: 下拉框是根据在数据库中查询出的需要的的值进行传入item中;新建SOBVO ,输入sql语句 SELECT  short_name, name FROM apps.gl_sets_of_books_vorder by short_name   查询出两个值 short_name 和name  加上order By 是为了 让下拉框中的值 按一定的顺序排列… VO一定要添加进AM

2015-08-12 15:29:29 730

原创 OAF学习笔记-1-空 和 % 查询所有记录

思路: 在需要模糊查询的page上创建一个CO (用来控制页面提交,在提交中进行数据的查询)   页面新建的搜索区域simpleSearchPanel  系统会生成两个按钮   通过pageContext.getParameter(EVENT_PARAM) 函数 获取不到 这两个按钮的 ID值 所以使用 排除掉(lov的触发 和 delete 的触发

2015-08-11 13:34:04 811

iewebcontrols

iewebcontrols for win10

2015-09-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除