2013年4月27日

Spark研究笔记3:重要的工厂类ChatManager(原创)

摘要: ChatManager处理大多数消息的监听和过滤器的注册,以及聊天室的创建和检索。它也被用来取得的chatframe的UI对象。ChatManager实现了MessageEventNotificationListener接口,该接口在Smack中定义。接口的方法: /** * 指消息已发出 * * @param from:发送者 * @param packetID:消息包ID */ public void deliveredNotification(String from, String packetID); /** *当接收到... 阅读全文

posted @ 2013-04-27 16:46 CVT-wangxin 阅读(777) 评论(0) 推荐(0) 编辑

Spark研究笔记2:重要的工厂类Workspace(原创)

摘要: 前言:上一节我们参观了工厂的中控指挥中心,接下来需要下到各个生产车间去看看了。Workspace是Spark的内置单例容器类,用于放置自定义的插件,比如新建一个Tab页: Workspace workspace = SparkManager.getWorkspace(); JButton button = new JButton("HELLO SPARK USERS"); workspace.getWorkspacePane().addTab("MyPlugin", button);它的私有域内置了Workspace、Tab容器TabbedPane、状态 阅读全文

posted @ 2013-04-27 11:49 CVT-wangxin 阅读(489) 评论(0) 推荐(0) 编辑

Spark研究笔记1:重要的静态工厂类SparkManager(原创)

摘要: 前言:想了解汽车是怎么生产的,就必须到工厂参观一下,而工厂的中控指挥中心,是一定要来看看的。想进入Spark开发,就必须先寻找一个入口,然后先轮廓后细节的学习,SparkManager就有些类似中控指挥中心,是非常好的学习入口。按SparkManager类代码的注释,可以这么理解:SparkManager是一个静态的中控管理类,他负责生成其他的管理类,比如ChatManager、PreferenceManager、SoundManager...比如在插件开发中需要处理系统声音,可以这样编写:final Runnable soundThread = new Runnable() { public 阅读全文

posted @ 2013-04-27 11:22 CVT-wangxin 阅读(754) 评论(0) 推荐(0) 编辑

2013年4月26日

Spark插件开发完全入门手册,多级组织架构初步(原创)

摘要: 前言:Openfire +Spark 是实时的基于XMPP协议的开源即时消息传输平台,是原来的Jive Messenger,其灵活的插件开发架构深受开发者的喜爱。问题:Spark只有单一组,没有多级组织架构的分组,实际企业应用中,只要是稍微有些人数,就难以应对了,特别是需要和域进行同步的情况,为此,我们首先要在服务器端构建同步AD域组织架构的数据库,并且是确保有版本控制功能(方便批次同步),客户端同步最新的版本,获取组织架构和用户的改变,形成树形的组织架构,类似下图:为此,我们需要开发Spark插件来实现这一功能。通过其自身的工厂类可以非常容易实现。Spark的工厂类和监听类,抄自官网:Man 阅读全文

posted @ 2013-04-26 13:58 CVT-wangxin 阅读(4078) 评论(4) 推荐(0) 编辑

2013年4月25日

配置Openfire使用Windows AD认证(原创)

摘要: 忙了一上午,装数据库,搭AD,N次的LDAP配置失败....,在数据库配置那里也可以改改数据驱动(原来的驱动对.\SQLserver之类的servername好像死活不认)驱动程序类输入:com.microsoft.sqlserver.jdbc.SQLServerDriver数据库URL:出入用户名sa,密码xxxxxx,其他默认。点击继续:启动配置:Stop Openfire.Edit conf/openfire.xml in your Openfire installation folder and set <setup>true</setup> to <se 阅读全文

posted @ 2013-04-25 14:14 CVT-wangxin 阅读(1414) 评论(0) 推荐(0) 编辑

Windows 2012服务器建立域控(AD DS)详解(转)

摘要: 原文:http://yaabb163.blog.51cto.com/1975905/987138作者:杨坚 阅读全文

posted @ 2013-04-25 11:04 CVT-wangxin 阅读(227) 评论(0) 推荐(0) 编辑

2013年4月20日

Java 动态代理机制分析及扩展,第 2 部分(转)

摘要: 转自:http://www.ibm.com/developerworks/cn/java/j-lo-proxy2/本文希望将 Java 动态代理机制从接口扩展到类,使得类能够享有与接口类似的动态代理支持。设计及特点新扩展的类名为 ProxyEx,将直接继承于 java.lang.reflect.Proxy,也声明了与原 Proxy 类中同名的 public 静态方法,目的是保持与原代理机制在使用方法上的完全一致。图 1. ProxyEx 类继承图 与原代理机制最大的区别在于,动态生成的代理类将不再从 Proxy 类继承,改而继承需被代理的类。由于 Java 的单继承原则,扩展代理机... 阅读全文

posted @ 2013-04-20 10:22 CVT-wangxin 阅读(225) 评论(0) 推荐(0) 编辑

Java 动态代理机制分析及扩展,第 1 部分(转)

摘要: 转自:http://www.ibm.com/developerworks/cn/java/j-lo-proxy1/引言Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分 派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。通过阅读本文,读者将会对 Java 动态代理机制有更加深入的理解。本文首先从 Java 动态代理的运行机制和特点出发,对其代码进行了分析,推演了动态生成类的内部实现。回页首代理:设计模式代理是一种常 阅读全文

posted @ 2013-04-20 10:21 CVT-wangxin 阅读(189) 评论(0) 推荐(0) 编辑

2013年4月19日

Java 继承设计技巧--摘自《JAVA核心技术》

摘要: 摘自《JAVA核心技术》第5章(1)将公共操作和域放置在超类 (2)不要使用受保护的域 有些程序员认为,将大多数的实例域定义为protected是一个不错的主意,只有这样,子类才能够在需要的时候直接访问他们。然而,protected 机制并不能够带来更好的保护,其原因主要有两点。第一,子类集合是无限制的,任何一个人都能够由某个类派生一个子类,并编写代码以直接访问 protected的实例域,从而破坏了封装性。第二,在Java程序设计语言中,在同一个包中的所有类都可以访问protected域,而不管它是否为 这个类的子类。 (3)使用继承实现“is-a”关系 使用继承很容易得到节省代码的目的,但 阅读全文

posted @ 2013-04-19 16:15 CVT-wangxin 阅读(188) 评论(0) 推荐(0) 编辑

instanceof和getClass()的区别

摘要: classA{}classBextendsA{}Objecto1=newA();Objecto2=newB();o1instanceofA=>trueo1instanceofB=>falseo2instanceofA=>true//<================HEREo2instanceofB=>trueo1.getClass().equals(A.class)=>trueo1.getClass().equals(B.class)=>falseo2.getClass().equals(A.class)=>false//<======= 阅读全文

posted @ 2013-04-19 14:57 CVT-wangxin 阅读(165) 评论(0) 推荐(0) 编辑

导航