下列描述了JNSP(java network service platform)服务的部署和功能,如有不明白之处,自己查看源代码,我无力和没有太多时间回答太多的问题.
源代码一起提供,可以随意修改,发布,并商业化,但请保留作者的信息.为了技术的进步,请注意共享成就.
目前已经发布于:http://download.csdn.net/source/1885332;http://hzhxxx.download.csdn.net/
如果查看后有技术问题探讨和建议的,欢迎致电致信联系.系统架构设计和实现有如下特点:
A. 采用 Accept-Connect 通讯模型,能统一管理系统中使用的所有 Socket 资源;
B. 系统支持通信和协议分离的实现原则,支持自定义协议解析模块;通信负责数据收发,协议负责数据鉴别,两者配合实现通信和协议的和谐工作;
C. 灵活支持业务处理功能重定义,分级支持慢业务和快业务的不同业务处理线程;
D. 丰富灵活的配置参数,能满足高扩展性;
E. 配合业务处理和通信模型,能异步的管理所有的交互步骤;
F. 分布式服务设计和部署,实现动态(热拔插)的增加和较少业务服务器,减少乃至拒绝单点服务;
1. 可以使用 ant 工具指定目录下 build.xml 文件,编译.
2. TestServerAssistant 是模拟一个第三方的服务,可以采用这个方式启动
java -classpath ./:./bin/:/home/huangzheng/MyTest/pack/nioserver.jar:/home/huangzheng/MyTest/pack/lib/log4j-1.2.15.jar -server -Xms1024m -Xmx1024m com.nsp.assistant.TestServerAssistant /home/huangzheng/MyTest/pack/conf/assistant_log4j.xml /home/huangzheng/MyTest/pack/conf/assistant.xml
3. TestServerA 和 TestServerB 是代表实际的业务处理服务,其处理 TestAgent 分发的业务处理请求.可以采用这个方式启动
java -classpath ./:./bin/:/home/huangzheng/MyTest/pack/nioserver.jar:/home/huangzheng/MyTest/pack/lib/log4j-1.2.15.jar -server -Xms1024m -Xmx1024m com.nsp.frametest.TestServerA /home/huangzheng/MyTest/pack/conf/servera_log4j.xml /home/huangzheng/MyTest/pack/conf/servera.xml
java -classpath ./:./bin/:/home/huangzheng/MyTest/pack/nioserver.jar:/home/huangzheng/MyTest/pack/lib/log4j-1.2.15.jar -server -Xms1024m -Xmx1024m com.nsp.frametest.TestServerB /home/huangzheng/MyTest/pack/conf/serverb_log4j.xml /home/huangzheng/MyTest/pack/conf/serverb.xml
4. TestAgent 是表示一个消息分发服务,用户接收最外层的业务请求.可以采用这个方式启动
java -classpath ./:./bin/:/home/huangzheng/MyTest/pack/nioserver.jar:/home/huangzheng/MyTest/pack/lib/log4j-1.2.15.jar -server -Xms1024m -Xmx1024m com.nsp.agent.TestAgent /home/huangzheng/MyTest/pack/conf/agent_log4j.xml /home/huangzheng/MyTest/pack/conf/agent.xml
5. 可以编写一个客户端 DriverClient 来驱动整个流程,可以采用这个方式启动
java -classpath ./:./bin/:/home/huangzheng/MyTest/pack/nioserver.jar:/home/huangzheng/MyTest/pack/lib/log4j-1.2.15.jar -client -Xms256m -Xmx256m com.nsp.frametest.DriverClient
6. 可以按TestServerAssistant,TestServerA,TestServerB,TestAgent,DriverClient 顺序启动测试.如果在 linux 下,可对应采用 restart_*.sh,startup_*.sh,allstartup.sh 等启动服务.