welcome to xlongwei.com

欢迎大家一起学习、交流、分享


QQ:9167702333 邮箱:admin@xlongwei.com

contentserver archetype 另一个远程调用框架


分类 Java   关键字 分享   标签 java   dubbo   maven   发布 hongwei  1451027816717
注意 转载须保留原文链接,译文链接,作者译者等信息。  
contentserver archetype 另一个远程调用框架,使用起来还算方便。

archetype生成
svn co svn://xlongwei.com/archetypes/contentserver
cd contentserver
mvn archetype:create-from-project
cd target/generated-sources/archetype
vi src/main/resources/archetype-resources/__rootArtifactId__-facade/pom.xml #修改依赖com.taoban:contentserver:1.0.1:jar
mvn deploy -DaltDeploymentRepository=releases::default::http://nexus.xlongwei.com/content/repositories/releases/

项目生成
mvn archetype:generate -DarchetypeCatalog=http://nexus.xlongwei.com/content/groups/public/archetype-catalog.xml -DarchetypeGroupId=com.xlongwei.archetypes -DarchetypeArtifactId=contentserver-archetype
# 测试信息:groupId=com.xlongwei.cms artifactId=content version=1.0.0 package=com.xlongwei.cms
cd content
mvn install

cd content-server/target/content-server/WEB-INF/lib
mkdir ext
cp content* ext #contentserver-1.0.1.jar会自动扫描ext下的jar包,加载服务类

#服务类指定了本地实现和远程实现,通过serverlist.properties配置文件调用远程服务
#@Local(implementClass="com.xlongwei.hello.content.impl.TestServiceImpl")
#@Remote(serviceName="common-content")
#public interface TestService

导入maven项目,配置并测试
#准备工作
#运行memcached,见memcached.properties
#运行mysql,打开test数据库,依次导入sql脚本:1-table.sql,2-base.sql,3-data.sql

#服务端,content-server
#主类:com.sohu.wap.cms.content.ServerLoader,Classpath:添加target/content-server/WEB-INF/lib/contentserver-1.0.1.jar和lib目录

#客户端,content-client
测试类:com.xlongwei.cms.common.content.facade.TestServiceTester


运行Startup类,生成可执行文件startup.sh
cd content-server
mvn exec:java -Dexec.mainClass=com.xlongwei.cms.content.server.StartupGen
cd target/content-server/WEB-INF/lib
sh startup.sh #Windows直接运行startup.bat

cd content-client
mvn test-compile -Dmaven.test.skip=false
mvn test -Dtest=com.xlongwei.cms.common.content.facade.TestServiceTester -Dmaven.test.skip=false

配置文件,content-server/src/main/webapp/WEB-INF/lib,content-client/src/main/resources
serverlist.properties,配置服务端口(支持多个服务端从而提高可用性)
messager.properties,当前实例监听端口(客户端和服务端都会监听一个端口)
memcached.properties,缓存配置,支持多个
cms_cache_config.properties,缓存超时配置