springMvc dubbo zookeeper 集成demo
2018-03-30 11:47
525 查看
dubbo官方文档 http://dubbo.io/User+Guide-zh.htm
dubbox官方文档地址 http://dangdangdotcom.github.io/dubbox/
线上业务一般都是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;
}
}
消费者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 block
e.printStackTrace();
}
}
}
项目架构图
运行效果:
dubbox官方文档地址 http://dangdangdotcom.github.io/dubbox/
线上业务一般都是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; @Override public 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 block e.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 block
e.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; } }
项目架构图
运行效果:
相关文章推荐
- springmvc 与 dubbo 集成的demo实例
- 以zookeeper为注册中心springmvc集成dubbo的服务实现
- java分布式服务框架:zookeeper+dubbo+springmvc集成
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和利用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合使用
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用
- Spring Boot 集成Dubbo+Zookeeper实现分布式架构
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- dubbo,zookeeper以及SpringMVC的整合以及用法