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
原创粉丝点击