存档: ‘OpenSource’ 分类

JGroups 如何读取配置文件

没有评论 2011年6月5日

JGroups是一个可靠的组播通讯工具集(需要说明的是,这并不是说必须要使用IP Multicast,JGroups也可以使用TCP来实现)。JGroups可以用来创建一个组,这个组中的成员可以给其他成员发送消息。

JGroups的主要功能如下:

创建和删除组,组成员可以分布在局域网或广域网中
组成员加入和离开组
成员关系的自动侦测并通知成员的加入,离开和丢失
侦测并删除丢失的成员
发送和接收成员到组的消息(点到多点)
发送和接收成员到成员的消息(点到点)

关于JGroups更详细的介绍,请参考JGroups 介绍及配置说明
继续阅读…

JGroups 介绍及配置说明

1条评论 2011年6月4日

JGroups 简介

JGroups是一个基于Java语言的提供可靠多播(组播)的开发工具包。例如OSCache、JBossTreeCache、JBoss Infinispan都 是用的是 JGroups(或许还有更多)。在IP Multicast基础上提供可靠服务,也可以构建在TCP或者WAN上。主要是由Bela Ban开发,属于JBoss.org,在JBoss的网站也有一些相关文档。目前在SourceForge上还是比较活跃,经常保持更新。

JGroups 网站:JGroups – The JGroupsProject
JGroups 向导http://www.jgroups.org/javagroupsnew/docs/tutorial/html_single/index.html
JGroups用户手册http://www.jgroups.org/javagroupsnew/docs/manual/html_single/index.html

JGroup以IP多播为基础并且提供可靠性和群组功能。其中,可靠性包括

1,消息不丢失
2,大消息拆分和重组功能
3,保证消息有序性
4,消息原子性(某条消息要么全部成员都收到,或都收不到)

群组功能包括

1,群组成员知道群组内所有其他成员
2,当群组发生以下的事件,所有群组成员都能收到通知:
a) 新组员加入群
b) 旧组员离开群
c) 某现有组员意外脱离群

继续阅读…

Butterfly Container Introduction

没有评论 2011年5月20日

与上篇文章(Butterfly Scheduling Introduction)一样,这篇文章也是来自于http://butterfly.jenkov.com网站。其实,除了这两个项目之外,这个网站还有Butterfly Web UIButterfly PersistenceButterfly Testing Tools三个小项目,其中Butterfly Container是一个依赖注入容器(IOC)。

它比Spring、Pico、Guice更小,并且更加灵活,更加易于使用。Butterfly Container使用一种简单,灵活,类似于Java的配置语言来代替XML(这段介绍来自于各大开源网站对其介绍),他是其他几个项目的基础。

Butterfly Container和Spring、Pico、Guice一样是一个依赖注入的容器。依赖注入的核心功能就是将变量绑定在一起(wire objects together)。你能够向容器申请一个对象,容器会确保所有的依赖(方法参数,协作对象)都注入到这个对象然后将其返回给你。

如果你对依赖注入不熟悉,你可以看看这篇文章:What is Dependency Injection? 继续阅读…

Butterfly Scheduling Introduction

2 条评论 2011年5月19日

Butterfly Scheduling 是一个轻量级的调度工具,相对而言,Quartz更为大家所熟知,这里主要是介绍一下Butterfly Scheduling,让大家能够熟悉这个小工具。Butterfly Scheduling  的Jar包非常小只有20几k,在项目中添加jenkov-butterfly-scheduling-1.3.9-beta.jar,然后就可以测试。需要说明的是官网(http://butterfly.jenkov.com/scheduling/index.html)上面的1.0版本存在一些bug。 继续阅读…

该读一些源码

没有评论 2011年3月2日

今天终于知道我为什么会接到猎头打来的电话了,因为我曾经注册了若邻网(【我的若邻网】)并在其中公开了自己的联系方式,只是可惜猎头打来电话都被我推掉了。呵呵,主要是觉得现在经验和能力还不够,还有待进一步学习。
昨天晚上睡觉前在CSDN看到了这篇文章【J2EE学习中一些值得研究的开源项目】。这篇文章写得很好,对刚工作不久的java工程师来说,有一个很好的提醒、建议、启示作用,对我们提高个人技术能力来说有很大帮助作用,当然,这主要还是在于个人的努力了,如果你不努力、不去深究一些源码,你就很难在java的路上走的很远了。
上面这篇文章提到了很多源码,可惜哦,时间有限不能有不可能一下子读完所有的源码, :( 。最近看了看commons digest、commons chain、struts2、dbunit的源码,由于时间有限struts2还是刚开始看了一点,然后又开始看dbunit的源码了,感觉自己就想一口吃成个大胖子,哎!
java里的技术太多,还是需要慢慢的一点点的学习和研读,加油!

Apache Commons Lang ToStringStyle

没有评论 2010年12月7日

ToStringStyle对象代表的是一种输出的模式,它一般和ToStringBuilder结合使用,用于辅助ToStringBuilder控制输出格式。。这个类旨在被当作单利来使用。没有必要每次都实例化一个实例。仅仅只需要实例化一次,初始化一些必要的属性值,并且存储结果到静态的final的变量中以方便剩下的程序来获取该变量病继续存储结果。
ToStringStyle类为抽象类,代码中已经内置了5种,分别为ToStringStyle.DEFAULT_STYLE、 ToStringStyle.MULTI_LINE_STYLE、ToStringStyle.NO_FIELD_NAMES_STYLE、 ToStringStyle.SHORT_PREFIX_STYLE、ToStringStyle.SIMPLE_STYLE。这5种内置类的实现都被定义成了private static final的内部类了,只是用于被ToStringStyle使用,所以如果上述5种类不能满足你的要求的话,想继承他们是不可能的。所以你需要创建StandardToStringStyle一个实例,然后调用它的方法来实现自定义的格式。
实际上格式化输出一个类,无外乎需要输出该类的类名以及其属性的值,你可以单行输出也可以多行输出;你可以设置开头输出什么,也可以设置结尾输出什么;你也可以设置分隔符。。。。。。所以按照次思路,jdk中的一个toString方法可以分解为很多的小方法。 继续阅读…