工作配置流程记录

        当前这个项目的部署,是为了解决消息推送的问题而开发出来的。在配置整个项目使其可以运行的过程中,包括很多程式化的步骤,在此记录一下。

        此项目包括接口包、服务包,接口包给服务的调用方(客户端)调用使用,而服务端独立运行服务。它们之间的协调方式是通过apache的sca来实现的。配置大致步骤如下:

1、定义如下project:

  • analyse-mongodb-core(接口包)
  • analyse-mongodb-service(服务包)

2、analyse-mongodb-core的结构

package model:mongo的映射对象,一个对象对应着一个collection,关于对象嵌套的复杂存储方式此处不详细说明。

package model.converter:保存到db过程中,负责对对象的字段编码进行转换工作,也可做其他工作。

service:服务接口

 

3、analyse-mongodb-service的结构

package service:实现了core包中的对应的接口

package server:服务启动类

mongo.properties:mongodb的数据库配置信息

server.composite:sca的服务端配置信息,其中包括如下特殊配置

<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
	xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" xmlns:scallop="http://scallop/xmlns/sca/1.0"
	targetNamespace="http://AnalyseUserPopupComponent" xmlns:sample="http://AnalyseUserPopupComponent"
	name="AnalyseUserPopupComponent"><!--配置AnalyseUserPopupComponent,调整成本服务需要的名称-->
	<component name="AnalyseUserPopupComponent">
		<implementation.spring location="META-INF/mongo/spring-mongo-config.xml" /><!--设置需要加载的spring容器名称-->
	</component>

	<service name="meetingService" promote="AnalyseUserPopupComponent/meetingService"><!--设定名称-->
		<interface.java interface="com.gemantic.analyse.mongodb.service.UserPopupService" /><!--设定服务接口名称,以及路径-->
		<scallop:binding.rmi host="localhost" port="8854" serviceName="UserPopupRMIService" /><!--设定地址、端口号和服务名称-->
	</service>
	
</composite>

 

spring-mongo-config.xml容器:配置sca、mongodb等信息。见《spring-db-mongo配置 》博客的内容。

 

4、配置wiki中的内容:

 

308 analyse-mongodb-service analyse-mongodb-service   10.0.0.105 10.0.0.22 8854 analyse-userPopup-mongodb-service-rmi 使用

 

5、配置数据库:

数据库:10.20,resources库的resources表,增加一条记录

697 || analyse-userPopup-mongodb-service-rmi || 10.0.0.22:8854

 

6、修改report-warning-etl项目

此项目是实现了对推送服务接口的调用,向推送库插入提醒信息的功能。

修改PopupPortfoliosServiceImpl类文件:修改userPopupService、userPopup的引用路径

修改pom.xml文件:项目里面增加analyse-mongodb-core的maven资源路径。

修改server.properties文件,调整关于userPopupService的相关配置。

 修改applicationContext-server.xml:修改里面关于userPopupService的引用路径

 

7、修改analyse-home项目

此项目是一个网站项目,对使用用户提供界面和操作功能,修改其中的推送功能。

修改pom.xml文件,增加对analyse-mongodb-core的maven资源路径的引用。

修改client.composite文件,调整关于userPopupService的相关配置。

修改applicationContext-sca.xml文件:调整关于UserPopupService的相关配置。

修改MeetingController类文件:修改关于userPopupService、userPopup的引用路径问题,同时,修改代码:

List<UserPopup> userPopups = userPopupService.getUserPopupIdsByOrgTypeAndUserCodeAndPublishAtOrderByPublishAt(orgType, userCode, start, end, (currentPage - 1) * pageCount, pageCount, true);
//以下是新加代码
		for(UserPopup tmp:userPopups){
			ids.add(tmp.getPopupId());
		}
//新加结束
//以下是注释掉的代码
		//		if (CollectionUtils.isNotEmpty(userPopupIds)) {
//			List<UserPopup> userPopups = userPopupService.getObjectsByIds(userPopupIds);
//			//使用工具类目前不能保证排序
////			Map<Long, UserPopup> map = MyListUtil.convert2Map(UserPopup.class.getDeclaredField("popupId"), userPopups);
//			for(UserPopup userPopup : userPopups){
//				ids.add(userPopup.getPopupId());
//			}
//			
//		}
//注释结束
		List<Popup> popups = popupService.getObjectsByIds(ids);

 

 

猜你喜欢

转载自blindness-god.iteye.com/blog/2160483