springMvc dubbo zookeeper 集成demo
来源:互联网 发布:招商加盟行业网络推广 编辑:程序博客网 时间:2024/06/05 20:45
线上业务一般都是DAO ,SERVICE与controller区分开,且部署于不同的机器上的,这里不做探讨, 环境搭建这些的网上教程很多,我也就不多说了,先安装zookeeper,再tomcat,再dubbo-admin,进入如下的管理界面
生产者demo结构图
package com.hao.vo;import java.io.Serializable;public class Hao implements Serializable{private int id;private String name;private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}
package com.hao;import com.hao.vo.Hao;public interface DemoService { public Hao sayHello();}
package com.hao;import java.util.concurrent.atomic.AtomicInteger;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import com.hao.vo.Hao;public class DemoServiceImpl implements DemoService{private static final Logger logger = LoggerFactory.getLogger(DemoServiceImpl.class);public static AtomicInteger c = new AtomicInteger(1);public static int i =1;@Overridepublic Hao sayHello() {logger.info("hello zy!");Hao hao = new Hao();hao.setId(1001);hao.setName("haoj");hao.setAge(30);/*try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}*/logger.info("----"+DemoServiceImpl.c.getAndIncrement()+"----"+ i++ +"----provider hao "+hao);return hao;}}
package com.hao;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.context.ApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext;/** * spring瀹瑰櫒 * @author haojian * Mar 29, 2013 3:53:06 PM */public class GameContext {private static final Logger logger = LoggerFactory.getLogger(GameContext.class);/** * spring 閰嶇疆鏂囦欢璺緞 */private static String confPath = System.getProperty("file.separator")+ System.getProperty("user.dir")+ System.getProperty("file.separator") + "conf"+ System.getProperty("file.separator");/** * spring瀹瑰櫒 */private static ApplicationContext context = null;static{String[] files = { confPath+"application-provider.xml" //,confPath+"applicationContext-hibernate.xml"};context = new FileSystemXmlApplicationContext(files); logger.info("鍒濆鍖杝pring閰嶇疆缁撴潫...");}/** * 鑾峰彇Spring瀹瑰櫒绠$悊鐨勫璞� * @author haojian * Apr 8, 2013 4:46:11 PM * @param beanName * @return */public static Object getBean(String beanName){Object obj = context.getBean(beanName);return obj;}}
package com.hao;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class Provider {private static final Logger logger = LoggerFactory.getLogger(GameContext.class);public static void main(String[] args){new GameContext();logger.info("i am provider...");try {Thread.sleep(1000000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}/*DemoService demoService = (DemoService)GameContext.getBean("demoService");demoService.sayHello();*/}}
消费者demo
package com.hao;import java.util.Random;import com.hao.vo.Hao;public class Consumer {public static void main(String[] args){System.out.println("i am consumer...");DemoService demoService = (DemoService)GameContext.getBean("demoService");for(int i=0;i<100;i++){Hao hao = demoService.sayHello();System.out.println("provider hao "+hao);}try {Thread.sleep(10000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
package com.hao;import com.hao.vo.Hao;public interface DemoService { public Hao sayHello();}
package com.hao;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.context.ApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext;/** * spring容器 * @author haojian * Mar 29, 2013 3:53:06 PM */public class GameContext {private static final Logger logger = LoggerFactory.getLogger(GameContext.class);/** * spring 配置文件路径 */private static String confPath = System.getProperty("file.separator")+ System.getProperty("user.dir")+ System.getProperty("file.separator") + "conf"+ System.getProperty("file.separator");/** * spring容器 */private static ApplicationContext context = null;static{String[] files = { confPath+"application-consumer.xml"//,confPath+"applicationContext-hibernate.xml"};context = new FileSystemXmlApplicationContext(files); logger.info("初始化spring配置结束...");}/** * 获取Spring容器管理的对象 * @author haojian * Apr 8, 2013 4:46:11 PM * @param beanName * @return */public static Object getBean(String beanName){Object obj = context.getBean(beanName);return obj;}}
项目架构图
运行效果:
dubbo官方文档 http://dubbo.io/User+Guide-zh.htm
dubbox官方文档地址 http://dangdangdotcom.github.io/dubbox/
1 0
- springMvc dubbo zookeeper 集成demo
- dubbo+springmvc+mybatis集成demo
- Maven+SpringMVC+Dubbo+zookeeper 简单的入门demo配置
- java分布式服务框架:zookeeper+dubbo+springmvc集成
- Dubbo+Zookeeper+Spring demo
- dubbo zookeeper demo
- Dubbo DEMO HelloWorld(zookeeper)
- SSH+Dubbo+zookeeper集成
- Dubbo+Zookeeper集成SSM
- springboot集成dubbo、zookeeper
- zookeeper与dubbo集成
- dubbo+zookeeper+springMVC
- springMVC dubbo zookeeper整合
- SpringMVC、Zookeeper、Dubbo使用
- Dubbo+Zookeeper+SpringMVC 架构
- springMVC,Dubbo,zookeeper 整合
- springMVC整合dubbo+zookeeper
- maven+springmvc+dubbo+zookeeper
- HTML5表单及其他新增和改良元素
- iOS开发-block详解与使用
- centos6.5的vim配置
- Oracle数据库数据显示乱码问题解决方法
- 我的Java设计模式学习笔记(1)- Strategy模式
- springMvc dubbo zookeeper 集成demo
- JDK1.8源码阅读系列之三:HashMap
- IOS把图片缓存到本地的几种方法
- 委托和事件(五)--例子--涵盖了观察者设计模式
- 键盘快捷方式
- dataframes
- 图结构练习——BFS——从起始点到目标点的最短步数
- Yii 联表查询
- JDK1.5新特性学习总结:自动拆装箱