- 浏览: 29557 次
- 性别:
- 来自: 南京
最新评论
文章列表
zubs是一个消息队列;; ZBUS = MQ + RPC + PROXY 支持消息队列, 发布订阅, RPC, 代理(TCP/HTTP/DMZ)
消费者
ZConsumer.java
package com.gbcom.frame.zbus;
import java.io.IOException;
import org.zbus.broker.Broker;
import org.zbus.broker.ZbusBroker;
import org.zbus.mq.Consumer;
import org.zbus.mq.Consumer.ConsumerHandler; ...
封装IO的一些常用操作:基于Common-io :IOUtils方法
CommonUtils.java
package com.gbcom.frame.io;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
...
netty 核心--
包括:
Netty的技术和架构方面
Channel,EventLoop和ChannelFuture
ChannelHandler和ChannelPipeline
Bootstrapping
Channel—Sockets
EventLoop—控制流,多线程,并发
ChannelFuture—异步通知
channel:
基本的I/O操作(bind(),connect(),read()和write())依赖于底层网络传输层提供的基本类型(primitives)。在基于Java的网络编程中,基本的构造单元就是S ...
关于mina:
跟netty类似,java的网络层IO处理框架,提供高并发的网络编程框架
例子参考:
入门例子:org.apache.mina.example.gettingstarted.timeserver.MinaTimeServer telnet服务器例子。
TCP例子:org.apache.mina.example.sumup.Server/Client 数值运算
UDP例子:org.apache.mina.example.udp.MemoryMonitor/cient
高级特性:
IoService:所有 IO 服务的基类,不管是在 ...
java native 接口开发流程
1.编写native接口
Hello.java
package com;
class Hello {
private native void print(); //定义native接口,,该方法为 对象内的,,所以执行慢
private static native int get();
private static native void set(int value);
public static void ma ...
TaskDispatcher:通用的任务分发和处理框架,基于生产者消费者模式,底层使用阻塞队列实现。
如果需要使用生产者消费者 模式,不需要再手写阻塞队列,只需要启动该服务,并写对应的process 就可以了。
除了使用简单外,还增加任务状态维护,处理结果追踪,以及任务处理方式等功能
核心代码如下
服务接口
package com.gbcom.ccsv3.transport.dispatcher;
import com.gbcom.ccsv3.transport.dispatcher.task.TaskBase;
/**
* 转发器接口。
*
* @aut ...
基于阻塞队列可以分容易实现生产者消费者模式
基本思路
生产者:负责生产对象,并放入阻塞队列
消费者:while true线程,阻塞的从阻塞队列中获取对象 并处理。
应用场景
服务器段分发器的处理、消息队列实现等等
核心组件
核心组件为JDK提供的阻塞队列,LinkedBlockingQueue
下面一个简单的例子
生产者
package com.gbcom.java.blockqueue;
import java.util.Random;
import java.util.concurrent.BlockingQueue;
import java.util.concurre ...
组播发现服务器的一个示例
发现服务器
DiscoverServer
package com.gbcom.ccsv3.transport.multidiscover;
import org.apache.log4j.Logger;
/**
* 发现服务器
*
* <p>
*
* @author syz
* <p>
* @date 2015-6-26,下午04:23:36
* <p>
* @version v1.0.0
* <p>
* @s ...
基于 java mail包做的邮件发送客户端
发送客户端
package com.gbcom.protocol.mail;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
import java.util.Vector;
import javax.activation.DataHandler;
import javax.activation.FileDataSo ...
snmp协议:简单的网络管理协议,常用于管理网络设备,在java开发中,使用snmp4j作为底层snmp组件比较受欢迎,
下面的例子简单描述了如何基于snmp4j构建简单的snmp服务器和客户端
snmp服务器
package com.gbcom.protocol.snmp;
import java.io.IOException;
import java.net.UnknownHostException;
import java.util.Vector;
import org.snmp4j.CommandResponder;
import org.snmp4j.Comman ...
服务端日期处理的类,Date相关的工具类
package com.gbcom.system.utils;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.xml.dataty ...
常用的反射工具类ReflectionExtUtil.util
package com.gbcom.system.utils;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util. ...
二进制数据转化,提供byte byte[] 等流转化工具类
package com.gbcom.system.utils;
import java.io.UnsupportedEncodingException;
/**
* 二进制数据转化,提供byte byte[] 等流转化工具类
*
*
* <p>
* @author syz
* <p>
* @date 2015-9-15,上午11 ...
Hudson 是一个 自动化构建好东西(严格说只是持续集成的一环),java的一个web工程开源
环境搭建:
1.下载:官网下载 hudson,只是一个 压缩包,
2.运行: java -jar hudson.war 默认是8080端口运行 可以指定端口,,
当然可以讲 hudson.war放在tomcat中作为普通web工程圆形。
3.初始成功 浏览器访问 http://localhost:8080/hudson
4.插件安装,,提供很多插件,,常用的几个下载即可
系统配置:
配置 java 、 maven 、 git 、 svn、 邮件等等功能
创建任务
1.新增任务,, ...
jetty服务器是十分优秀的java web应用服务器,支持的java的 jsp和 servlet标准,跟tomcat一样很受欢迎,,另外jetty更轻量一些,允许将jetty嵌入到程序中执行,在某些场景下十分有用。
jetty嵌入式环境的使用
内置jetty服务器
package com.gbcom.frame.jetty.demo;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.C ...