`
bxf12315
  • 浏览: 26858 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
最近在学习Anntation和Reflection,一直希望能做一个实际的应用. 所以,假象了一个例子,比如说在方法前加上Annotation来表明方法是否要进行事务处理,然后通过动态代理来执行. 1 MyAnnotationI java 代码 public interface MyAnnotationI {        public void printString();           public void printString1();    }    2  java 代码 public class MyA ...
继续写,写的有点乱了,望大家不要介意,我会慢慢该过来的。 这是推送程序的activitiy diagram  程序中涉及到一些线程处理方面的问题。 1 多线程的问题。        由于程序中管理程序本身就是一个线程,他负责管理业务线程的初始化和启动,而为了提高效率我们又在业务线程实现了可配置的多线程处理方式。这样在我处理的最多的情况时,可能会执行近百个线程。而且,随着业务的增加还会有更多的线程需要启动。无限制的增加下去,会造成系统负担过重。所以我采用了对线程技术来处理这种问题。 其实很简单就是采用了,jdk1.5中的线程池。代码三行搞定 java 代码 private Thre ...
 这个通用的推送做了很久了,来早就想把它的思路整理一下。终于,想做下来整理的时候很快又发现不知道该怎么说了。 还是硬着头皮往下写吧。     那就先说说castor 吧。由于在我们的推送配置是相对比较复杂的,不管是自己通过DOM或者SAX的调用来实现回事相当麻烦的。比如说我们根据我们的配置xml , 需要定义一些对象如config,task ,source 。。。(都对应我们的xml)。那么config下面是可以有不确定个数的task,task下又可以有不确定个数的source,而source下又可以有不确定个数source。这样在在初始化的时候要做大量的对List的操作。一个字麻烦。     ...
以上介绍是我对业务描述的xml的介绍,下面该介绍我们是怎么来运行这个xml的业务描述的了。 首先,介绍一下我们采用的一些技术和工具。 1 ibatis-一个简单的orm工具。它很好的完成了将数据访问的实现逻辑写到xml文件中,以及它支持hashmap对象的使用。这两点是我们能实现通用的至关重要的两点。 因为,我们要实现java代码与业务无关那么我们代码应该与具体业务无关。第一步,我们通过使用ibatis基本实现将数据访问逻辑写道xml文件中,第二,在使用数据对象时候我们采用ibatis支持的hashmap。这样我们操作的就都是抽象的与具体业务无关的对象。 2 castor -一个对应于xm ...
这些主要自己的最近的一些工作总结,感觉写出看看会帮助自己提高。希望大家指正批评。
首先,介绍一下我通过xml对推送业务的定义。由于,我们的数据下载都是通过对某个具体网站数据的下载,所以,我们下载的数据基本都是树状结构,如下图所示:   主要面对的问题: 1 树状结构的层数不确定 2 节点数不确定 比如说网站展示某产品,就有公司分类,公司,公司图片,产品分类,产品,产品图片等等。这里每一项都 是一个数据节点,属于不同节点的子节点。对于不同的业务就会有不同的节点数与层数。 首先,我通过对现有业务的分析总结一下每一个节点所要执行的动作。 1 从下载库中读出有效数据 2 插入对应的目标库中 3 查询下一级节点 这些是基本每一个节点所具有的属性(通用),下面是我们定义这些节点的xm ...
目前,在公司的一个重要工作内容就是做sprider和b2b数据内容的推送工作。 简单需求描述 公司主要的业务领域就是b2b的垂直搜索,我所在的数据组主要 负责下载联盟网站的b2b的信息,然后讲下载数据进行一定的处理推送到目标库 (线上运行库)中。 以下就是经过这段时间工作对公司业务理解的一个流程图。 那我主要负责的就是推送以及生成生成信用值。 好了,该说说自己的工作了,数据推送本身很简单,就是把a库中数据推送到b库中。但是由于下载数据本身、的不严谨,以及两个库中表结构页不由差异,同时还要求增量的推送。(还有很多小细节方面的东西,比如图片的推送,针对某些字段的简单处理,对一些标志位的设定等 ...
Global site tag (gtag.js) - Google Analytics