dubbo+zookeeper+spring+springMVC+mybatis
dubbo+zookeeper+spring+springMVC+mybatisの使用、dubrozookeeper
前の文を読みます。本人のレベルが限られていますので、間違いや説明が不適切なところがあれば指摘してください。スプレーしないでください。初めてブログを書きます。
ソースのダウンロードリンク:http://files.cnblogs.com/files/la-tiao-jun-blog/dubbo%E4%BE%8B%E5%AD%90.rar
使用条件:
eclipse-jee-luna-S R 2-win 32-x 86_64
jdk 1.7、Apache Tomcat v 8.0、maven
zookeeper 3.4.6
dubbo-2.40。
dubbo-monitor-simple-23.54-NAPSHOT-asembly.tar.gz(dubbo簡易監視センター)
サービスプロバイダのプロジェクトディレクトリ(下左): サービス消費者の工程目録(下右):
サービスプロバイダのpom.xml:
banksteel-yesen:
banksteel-yesen-ap:
banksteel-yesen-provider:
サービス消費者のpom.xml
banksteel-user-ap:
サービスプロバイダのjavaコード:
-----------banksteel-yesen-appi---------------
common.yesen.entity
common.yesen.service
--------banksteel-yesen-provider-------
comp.yesen.dao
comp.yesen.dao.impl
comp.yesen.service.impl
サービスプロバイダの他の構成:
ディレクトリ構造はsrc/main/resourceだけ見ます。
user Mapper.xml:
mybatis-config.xml:
dubbo-service.xml:
spring-mybatis.xml:
サービス消費者のjavaコード:
common.yesen.co ntroller
サービス消費者の他の構成:
注:サービス消費者工程リストのdubbo.propertiesは使われていません。無視してください。
dubbo-user.xml:
root-config.xml:
spring-mvc.xml:
web.xml:
windowsの下でプロジェクトを実行します。
1.zookeeperを起動します。zookeeperのbinディレクトリを見つけて、zkServer.cmdをダブルクリックします。実行済みの効果は以下の通りです。
(注:私の第二ステップは、dubboサービスを起動し、jarを実行する方式で起動して、煩雑です。適用されなくて、pomファイルを変更して、パッケージコンパイルの配置を変更したほうがいいです。asembly、installを使って、サーバにアップロードして、ストレス解消します。中にはlibディレクトリが含まれています。直接運行します。サービスですが、まだできていません。知っていることを教えてください。これからはありがとうございます。
2.dubboサービスの起動:banksteel-yesen右ボタン-->Run As-->Maven clean-->Maven installを選択してください。
エラーがなければ、targetディレクトリの下にbanksteel-yesen-provider-00.0.1-NAPSHOT.jarとlibを見つけて、一緒にcopyを出して、例えばd盤の下に置いて、jarを実行します。
コマンド:java-jar banksteel-yesen-provider-0.1-NAPSHOT.jar
私たちはdubboサービスが開始されたのを見ました。
3.zookeeperクライアントを接続して、私達はもう一つの/dubboノードを出すことを見ることができます。
zkCli.cmdをダブルクリックしてhを入力し、enterキーを押して、zookeeperのいくつかのコマンドを確認します。
4.サービス消費者webプロジェクトを開始する。
tomcat起動は言わないでください。運行の効果は以下の通りです。
5.dubb監視センターの使用:
dubbo-monitor-simple-23.54-NAPSHO-asembly.tar.gz 解凍後。confディレクトリに入り、dubbo.propertiesを見つけて、編集、保存します。
binディレクトリに入り、start.batをダブルクリックします。
ブラウザを開けて、http:locahost:8080/servicesを入力してください。 (local hostは実はzookeeperサーバのアドレスです)効果は以下の通りです。
上の図からどのようなdubboサービスとサービスの消費状況が分かりますか?
前の文を読みます。本人のレベルが限られていますので、間違いや説明が不適切なところがあれば指摘してください。スプレーしないでください。初めてブログを書きます。
ソースのダウンロードリンク:http://files.cnblogs.com/files/la-tiao-jun-blog/dubbo%E4%BE%8B%E5%AD%90.rar
使用条件:
eclipse-jee-luna-S R 2-win 32-x 86_64
jdk 1.7、Apache Tomcat v 8.0、maven
zookeeper 3.4.6
dubbo-2.40。
dubbo-monitor-simple-23.54-NAPSHOT-asembly.tar.gz(dubbo簡易監視センター)
サービスプロバイダのプロジェクトディレクトリ(下左): サービス消費者の工程目録(下右):
サービスプロバイダのpom.xml:
banksteel-yesen:
4.0.0
bankmineral
banksteel-yesen
pom
0.0.1-SNAPSHOT
banksteel-yesen
http://maven.apache.org
../banksteel-yesen-api
../banksteel-yesen-provider
bankmineral
banksteel-user-api
${maven.version}
compile
bankmineral
banksteel-user-provider
${maven.version}
View Codebanksteel-yesen-ap:
4.0.0
bankmineral
banksteel-yesen-api
0.0.1-SNAPSHOT
jar
banksteel-yesen-api
http://maven.apache.org
UTF-8
4.0.2.RELEASE
3.2.6
1.7.7
1.2.17
bankmineral
banksteel-yesen
0.0.1-SNAPSHOT
../banksteel-yesen/pom.xml
junit
junit
3.8.1
test
org.springframework
spring-core
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-oxm
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-test
${spring.version}
org.aspectj
aspectjrt
1.6.12
org.aspectj
aspectjweaver
1.6.12
org.javassist
javassist
3.18.1-GA
org.jboss.netty
netty
3.2.5.Final
org.apache.zookeeper
zookeeper
3.4.6
org.mybatis
mybatis
${mybatis.version}
log4j
log4j
${log4j.version}
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
View Codebanksteel-yesen-provider:
4.0.0
bankmineral
banksteel-yesen-provider
jar
0.0.1-SNAPSHOT
banksteel-yesen-provider Maven Webapp
http://maven.apache.org
bankmineral
banksteel-yesen
0.0.1-SNAPSHOT
../banksteel-yesen/pom.xml
bankmineral
banksteel-yesen-api
0.0.1-SNAPSHOT
org.mybatis
mybatis-spring
1.2.2
javax
javaee-api
7.0
mysql
mysql-connector-java
5.1.30
commons-dbcp
commons-dbcp
1.2.2
jstl
jstl
1.2
com.alibaba
fastjson
1.1.41
org.codehaus.jackson
jackson-mapper-asl
1.9.13
commons-fileupload
commons-fileupload
1.3.1
commons-io
commons-io
2.4
commons-codec
commons-codec
1.9
com.alibaba
dubbo
2.4.10
com.101tec
zkclient
0.4
${project.build.directory}/classes
src/main/resources
true
**/*.xml
*.properties
${project.build.directory}/classes/META-INF/spring
src/main/resources/spring
true
spring-mybatis.xml
org.eclipse.m2e
lifecycle-mapping
1.0.0
org.apache.maven.plugins
maven-dependency-plugin
[2.0,)
copy-dependencies
org.apache.maven.plugins
maven-jar-plugin
target/classes/
com.alibaba.dubbo.container.Main
false
true
lib/
.
org.apache.maven.plugins
maven-dependency-plugin
copy-dependencies
package
copy-dependencies
jar
jar
false
${project.build.directory}/lib
View Codeサービス消費者のpom.xml
banksteel-user-ap:
4.0.0
bankmineral
banksteel-userapp
war
0.0.1-SNAPSHOT
banksteel-userapp Maven Webapp
http://maven.apache.org
bankmineral
banksteel-yesen
0.0.1-SNAPSHOT
junit
junit
3.8.1
test
bankmineral
banksteel-yesen-api
0.0.1-SNAPSHOT
com.alibaba
dubbo
2.4.10
com.101tec
zkclient
0.4
jstl
jstl
1.2
banksteel-user-app
View Codeサービスプロバイダのjavaコード:
-----------banksteel-yesen-appi---------------
common.yesen.entity
package com.yesen.entity;
import java.io.Serializable;
public class User implements Serializable{
private long id;
private String username;
private String password;
private int age;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
View Codecommon.yesen.service
package com.yesen.service;
import java.util.List;
import java.util.Map;
import com.yesen.entity.User;
public interface UserService {
List getUserByMap(Map paramMap);
void insertUser(User user);
}
View Code--------banksteel-yesen-provider-------
comp.yesen.dao
package com.yesen.dao;
import java.util.List;
import java.util.Map;
import com.yesen.entity.User;
public interface UserDAO {
List getUserByMap(Map paramMap);
void insertUser(User user);
}
View Codecomp.yesen.dao.impl
package com.yesen.dao.impl;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.yesen.dao.UserDAO;
import com.yesen.entity.User;
@Repository("userDAO")
public class UserDAOImpl implements UserDAO {
private static final String INSERT = "com.yesen.model.userMapper.insertUser";
private static final String LISTBY = "com.yesen.model.userMapper.listBy";
@Autowired
private SqlSessionTemplate sqlSessionTemplate;
public List getUserByMap(Map paramMap) {
SqlSession session = sqlSessionTemplate.getSqlSessionFactory().openSession();
return session.selectList(LISTBY, paramMap);
}
public void insertUser(User user) {
SqlSession session = sqlSessionTemplate.getSqlSessionFactory().openSession();
session.insert(INSERT, user);
}
}
View Codecomp.yesen.service.impl
package com.yesen.service.impl;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yesen.dao.UserDAO;
import com.yesen.entity.User;
import com.yesen.service.UserService;
@Service("userService")
public class UserServiceImpl implements UserService {
@Autowired
private UserDAO userDAO;
public List getUserByMap(Map paramMap) {
return userDAO.getUserByMap(paramMap);
}
public void insertUser(User user) {
userDAO.insertUser(user);
}
}
View Codeサービスプロバイダの他の構成:
ディレクトリ構造はsrc/main/resourceだけ見ます。
user Mapper.xml:
user
ID, USERNAME, PASSWORD, AGE
INSERT INTO
(USERNAME, PASSWORD, AGE)
VALUES
(#{username},#{password}, #{age})
AND USERNAME = #{username}
AND PASSWORD = #{password}
View Codemybatis-config.xml:
View Codedubbo-service.xml:
View Codespring-mybatis.xml:
View Codeサービス消費者のjavaコード:
common.yesen.co ntroller
package com.yesen.controller;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.yesen.entity.User;
import com.yesen.service.UserService;
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value = "/create")
public String createUser(HttpServletRequest request, Model model){
String username =request.getParameter("username");
String password =request.getParameter("password");
String age =request.getParameter("age");
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setAge(Integer.parseInt(age));
userService.insertUser(user);
model.addAttribute("message", user.getUsername());
return "insertSuccess";
}
@RequestMapping(value = "/query")
public String queryUser(String username, Model model,HttpServletRequest request){
Map paramMap = new HashMap();
List userList = userService.getUserByMap(paramMap);
System.out.println("------------");
for(User user: userList){
System.out.println(" :"+user.getUsername()+" , :"+user.getPassword());
}
model.addAttribute(userList);
return "userInfo";
}
}
View Codeサービス消費者の他の構成:
注:サービス消費者工程リストのdubbo.propertiesは使われていません。無視してください。
dubbo-user.xml:
View Coderoot-config.xml:
View Codespring-mvc.xml:
View Codeweb.xml:
Archetype Created Web Application
contextConfigLocation
classpath:META-INF/spring/root-config.xml
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
encodingFilter
/*
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.IntrospectorCleanupListener
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:META-INF/spring/spring-mvc.xml
1
SpringMVC
/
/index.jsp
View Codewindowsの下でプロジェクトを実行します。
1.zookeeperを起動します。zookeeperのbinディレクトリを見つけて、zkServer.cmdをダブルクリックします。実行済みの効果は以下の通りです。
(注:私の第二ステップは、dubboサービスを起動し、jarを実行する方式で起動して、煩雑です。適用されなくて、pomファイルを変更して、パッケージコンパイルの配置を変更したほうがいいです。asembly、installを使って、サーバにアップロードして、ストレス解消します。中にはlibディレクトリが含まれています。直接運行します。サービスですが、まだできていません。知っていることを教えてください。これからはありがとうございます。
2.dubboサービスの起動:banksteel-yesen右ボタン-->Run As-->Maven clean-->Maven installを選択してください。
エラーがなければ、targetディレクトリの下にbanksteel-yesen-provider-00.0.1-NAPSHOT.jarとlibを見つけて、一緒にcopyを出して、例えばd盤の下に置いて、jarを実行します。
コマンド:java-jar banksteel-yesen-provider-0.1-NAPSHOT.jar
私たちはdubboサービスが開始されたのを見ました。
3.zookeeperクライアントを接続して、私達はもう一つの/dubboノードを出すことを見ることができます。
zkCli.cmdをダブルクリックしてhを入力し、enterキーを押して、zookeeperのいくつかのコマンドを確認します。
4.サービス消費者webプロジェクトを開始する。
tomcat起動は言わないでください。運行の効果は以下の通りです。
5.dubb監視センターの使用:
dubbo-monitor-simple-23.54-NAPSHO-asembly.tar.gz 解凍後。confディレクトリに入り、dubbo.propertiesを見つけて、編集、保存します。
binディレクトリに入り、start.batをダブルクリックします。
ブラウザを開けて、http:locahost:8080/servicesを入力してください。 (local hostは実はzookeeperサーバのアドレスです)効果は以下の通りです。
上の図からどのようなdubboサービスとサービスの消費状況が分かりますか?