2.Maven父工程mkhl-parent:
parent工程结构如下图:
1)parent工程的pom文件:
- <?xml version="1.0"?>
- <project
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
- xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>1.0.0</modelVersion>
- <groupId>com.ouc.mkhl.supplier</groupId>
- <version>1.0</version>
- <artifactId>mkhl-parent</artifactId>
- <name>mkhl-parent</name>
- <packaging>pom</packaging>
- <url>http://maven.apache.org</url>
- <properties>
- <oop.version>1.0.0</oop.version>
- <spring.version>4.1.8.RELEASE</spring.version>
- <spring.boot.version>1.2.7.RELEASE</spring.boot.version>
- <struts.version>2.3.15.1</struts.version>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <monitor.service.client>3.1.7</monitor.service.client>
- <hfs.service.client.version>2.0.1</hfs.service.client.version>
- <pampas.version>4.1.3</pampas.version>
- <dubbo.version>2.8.3</dubbo.version>
- <openapi-auth.version>4.0.9-SNAPSHOT</openapi-auth.version>
- <lts.version>1.6.2</lts.version>
- <netty.version>4.0.13.Final</netty.version>
- <leveldbjni.version>1.8</leveldbjni.version>
- </properties>
- <!-- svn代码托管配置 -->
- <scm>
- <connection>scm:svn:https://127.0.0.1/svn/OOP/Test/trunk/test</connection>
- <developerConnection>
- scm:svn:https://<span style="font-family: Arial, Helvetica, sans-serif;">127.0.0.1</span>/svn/OOP/Test/trunk/test
- </developerConnection>
- <url>https://<span style="font-family: Arial, Helvetica, sans-serif;">127.0.0.1</span>/svn/OOP/Test/trunk/test</url>
- </scm>
- <!-- 不同的打包环境 -->
- <profiles>
- <!-- 生产环境 -->
- <profile>
- <id>production</id>
- <properties>
- <env>production</env>
- </properties>
- </profile>
- <!-- 测试环境 -->
- <profile>
- <id>test</id>
- <properties>
- <env>test</env>
- </properties>
- </profile>
- <!-- 开发环境 -->
- <profile>
- <id>dev</id>
- <properties>
- <env>dev</env>
- </properties>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- </profile>
- </profiles>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>weblogic</groupId>
- <artifactId>wlfullclient</artifactId>
- <version>10.3.6</version>
- </dependency>
- <dependency>
- <groupId>com.github.sgroschupf</groupId>
- <artifactId>zkclient</artifactId>
- <version>0.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.zookeeper</groupId>
- <artifactId>zookeeper</artifactId>
- <version>3.4.5.hop</version>
- </dependency>
- <dependency>
- <groupId>com.ouc</groupId>
- <artifactId>oop-core</artifactId>
- <version>${oop.version}</version>
- </dependency>
- <dependency>
- <groupId>com.ouc</groupId>
- <artifactId>oop-test</artifactId>
- <version>${oop.version}</version>
- </dependency>
- <dependency>
- <groupId>com.ouc.mkhl.supplier</groupId>
- <artifactId>mkhl-service-client</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>com.ouc.mkhl.supplier</groupId>
- <artifactId>mkhl-biz</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>com.ouc.mkhl.supplier</groupId>
- <artifactId>mkhl-common</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>dubbo</artifactId>
- <version>${dubbo.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.jboss.netty</groupId>
- <artifactId>netty</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.11</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>3.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- <version>3.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.struts</groupId>
- <artifactId>struts2-core</artifactId>
- <version>${struts.version}</version>
- <exclusions>
- <exclusion>
- <groupId>com.sun</groupId>
- <artifactId>tools</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis-spring</artifactId>
- <version>1.2.0</version>
- </dependency>
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis</artifactId>
- <version>3.2.2</version>
- </dependency>
- <dependency>
- <groupId>org.mybatis.generator</groupId>
- <artifactId>mybatis-generator-core</artifactId>
- <version>1.3.2</version>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.17</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>1.7.5</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>1.7.5</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-aop</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-expression</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-jdbc</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-test</artifactId>
- <version>${spring.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-web</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-webmvc</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context-support</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-all</artifactId>
- <version>1.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.dbunit</groupId>
- <artifactId>dbunit</artifactId>
- <version>2.4.9</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.quartz-scheduler</groupId>
- <artifactId>quartz</artifactId>
- <version>2.1.6</version>
- <exclusions>
- <exclusion>
- <groupId>c3p0</groupId>
- <artifactId>c3p0</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.aspectj</groupId>
- <artifactId>aspectjweaver</artifactId>
- <version>1.7.2</version>
- </dependency>
- <dependency>
- <groupId>cglib</groupId>
- <artifactId>cglib</artifactId>
- <version>2.2.2</version>
- </dependency>
- <!-- ehcache -->
- <dependency>
- <groupId>net.sf.ehcache</groupId>
- <artifactId>ehcache</artifactId>
- <version>2.6.2</version>
- <type>pom</type>
- </dependency>
- <dependency>
- <groupId>org.terracotta.quartz</groupId>
- <artifactId>quartz-terracotta</artifactId>
- <version>2.3.1</version>
- </dependency>
- <dependency>
- <groupId>javax.jms</groupId>
- <artifactId>jms-api</artifactId>
- <version>1.1-rev-1</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-jms</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>com.oracle</groupId>
- <artifactId>ojdbc14</artifactId>
- <version>10.2.0.2</version>
- </dependency>
- <!-- mysql连接 -->
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.34</version>
- </dependency>
- <dependency>
- <groupId>commons-pool</groupId>
- <artifactId>commons-pool</artifactId>
- <version>1.6</version>
- </dependency>
- <dependency>
- <groupId>commons-dbcp</groupId>
- <artifactId>commons-dbcp</artifactId>
- <version>1.4</version>
- </dependency>
- <dependency>
- <groupId>aopalliance</groupId>
- <artifactId>aopalliance</artifactId>
- <version>1.0</version>
- </dependency>
- <!-- XStream -->
- <dependency>
- <groupId>com.thoughtworks.xstream</groupId>
- <artifactId>xstream</artifactId>
- <version>1.4.4</version>
- </dependency>
- <dependency>
- <groupId>xpp3</groupId>
- <artifactId>xpp3_min</artifactId>
- <version>1.1.4c</version>
- </dependency>
- <dependency>
- <groupId>org.apache.poi</groupId>
- <artifactId>poi-ooxml</artifactId>
- <version>3.9</version>
- <exclusions>
- <exclusion>
- <artifactId>xml-apis</artifactId>
- <groupId>xml-apis</groupId>
- </exclusion>
- <exclusion>
- <artifactId>stax-api</artifactId>
- <groupId>stax</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.6</version>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>2.4</version>
- </dependency>
- <dependency>
- <groupId>org.freemarker</groupId>
- <artifactId>freemarker</artifactId>
- <version>2.3.19</version>
- </dependency>
- <dependency>
- <groupId>json</groupId>
- <artifactId>json-lib</artifactId>
- <version>2.1</version>
- </dependency>
- <dependency>
- <groupId>net.sf.ezmorph</groupId>
- <artifactId>ezmorph</artifactId>
- <version>1.0.6</version>
- </dependency>
- <dependency>
- <groupId>com.ouc.openplatform.hfs</groupId>
- <artifactId>hfs-service-client</artifactId>
- <version>${hfs.service.client.version}</version>
- </dependency>
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>1.8.3</version>
- </dependency>
- <dependency>
- <groupId>com.ouc.openplatform</groupId>
- <artifactId>monitor-service-client</artifactId>
- <version>${monitor.service.client}</version>
- <exclusions>
- <exclusion>
- <artifactId>struts2-core</artifactId>
- <groupId>org.apache.struts</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.devlib.schmidt</groupId>
- <artifactId>imageinfo</artifactId>
- <version>1.9</version>
- </dependency>
- <!-- cas -->
- <dependency>
- <groupId>org.jasig.cas.client</groupId>
- <artifactId>cas-client-support-distributed-ehcache</artifactId>
- <version>3.2.1</version>
- <exclusions>
- <exclusion>
- <groupId>net.sf.ehcache</groupId>
- <artifactId>ehcache-core</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>io.terminus.pampas</groupId>
- <artifactId>pampas-client</artifactId>
- <version>${pampas.version}</version>
- </dependency>
- <!-- DataSource -->
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>druid</artifactId>
- <version>1.0.13</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>jaxrs-api</artifactId>
- <version>3.0.7.Final</version>
- </dependency>
- <dependency>
- <groupId>com.dangdang</groupId>
- <artifactId>config-toolkit-easyzk</artifactId>
- <version>2.0.3-RELEASE</version>
- </dependency>
- <!-- mx4j -->
- <dependency>
- <groupId>mx4j</groupId>
- <artifactId>mx4j</artifactId>
- <version>3.0.2</version>
- </dependency>
- <dependency>
- <groupId>mx4j</groupId>
- <artifactId>mx4j-tools</artifactId>
- <version>3.0.1</version>
- </dependency>
- <dependency>
- <groupId>com.haier</groupId>
- <artifactId>openapi-auth</artifactId>
- <version>${openapi-auth.version}</version>
- </dependency>
- <dependency>
- <groupId>com.ouc</groupId>
- <artifactId>openapi-service-client</artifactId>
- <version>${openapi-auth.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- <version>${spring.boot.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-actuator</artifactId>
- <version>${spring.boot.version}</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-validator</artifactId>
- <version>5.2.2.Final</version>
- </dependency>
- <dependency>
- <groupId>javax.validation</groupId>
- <artifactId>validation-api</artifactId>
- <version>1.1.0.Final</version>
- </dependency>
- <!-- lts -->
- <dependency>
- <groupId>com.lts</groupId>
- <artifactId>lts-tasktracker</artifactId>
- <version>${lts.version}</version>
- </dependency>
- <dependency>
- <groupId>com.lts</groupId>
- <artifactId>lts-jobclient</artifactId>
- <version>${lts.version}</version>
- </dependency>
- <dependency>
- <groupId>com.lts</groupId>
- <artifactId>lts-spring</artifactId>
- <version>${lts.version}</version>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-all</artifactId>
- <version>${netty.version}</version>
- </dependency>
- <dependency>
- <groupId>org.fusesource.leveldbjni</groupId>
- <artifactId>leveldbjni-all</artifactId>
- <version>${leveldbjni.version}</version>
- </dependency>
- <!-- httpclient -->
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- <version>4.5.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpcore</artifactId>
- <version>4.4.4</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- </dependency>
- <dependency>
- <groupId>com.haier</groupId>
- <artifactId>hop-test</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-all</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-test</artifactId>
- </dependency>
- </dependencies>
- <build>
- <filters>
- <filter>../mkhl-parent/src/main/filters/filter-${env}.properties</filter>
- </filters>
- <resources>
- <resource><!-- 不对指定的资源文件进行资源替换 -->
- <directory>src/main/resources</directory>
- <filtering>true</filtering>
- <excludes>
- <exclude>**/*.ftl</exclude>
- <exclude>**/*-dynamic.xml</exclude>
- <exclude>**/mybatis/**/*.xml</exclude>
- </excludes>
- </resource>
- <resource><!-- 对ftl文件和动态sql文件进行直接复制 -->
- <directory>src/main/resources</directory>
- <filtering>false</filtering>
- <includes>
- <include>**/*.ftl</include>
- <include>**/*-dynamic.xml</include>
- <include>**/mybatis/**/*.xml</include>
- </includes>
- </resource>
- </resources>
- <testResources>
- <testResource>
- <directory>src/test/resources</directory>
- <filtering>true</filtering>
- <excludes>
- <exclude>**/*.ftl</exclude>
- <exclude>**/*-dynamic.xml</exclude>
- <exclude>**/mybatis/**/*.xml</exclude>
- </excludes>
- </testResource>
- <testResource>
- <directory>src/test/resources</directory>
- <filtering>false</filtering>
- <includes>
- <include>**/*.ftl</include>
- <include>**/*-dynamic.xml</include>
- <include>**/mybatis/**/*.xml</include>
- </includes>
- </testResource>
- </testResources>
- <plugins>
- <!-- 工程编码插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.0</version>
- <configuration>
- <source>1.7</source>
- <target>1.7</target>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <!-- 生成javadoc插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <configuration>
- <charset>UTF-8</charset>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <!-- 打包java源码 -->
- <plugin>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.2.1</version>
- <configuration>
- <attach>true</attach>
- </configuration>
- <executions>
- <execution>
- <phase>compile</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <!-- 导入eclipse工程插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.9</version>
- <configuration>
- <downloadSources>true</downloadSources>
- <downloadJavadocs>true</downloadJavadocs>
- <wtpversion>2.0</wtpversion>
- <additionalProjectnatures>
- <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
- </additionalProjectnatures>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.6</version>
- <configuration>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.12</version>
- <configuration>
- <argLine>-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=128m</argLine>
- <includes>
- <include>com/ouc/**/*Test*.java</include>
- </includes>
- <printSummary>true</printSummary>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>cobertura-maven-plugin</artifactId>
- <version>2.6</version>
- <configuration>
- <instrumentation>
- <excludes>
- <exclude>com/ouc/**/action/**/*.class</exclude>
- <exclude>com/ouc/**/webapp/**/*.class</exclude>
- <exclude>com/ouc/**/interceptor/**/*.class</exclude>
- <exclude>com/ouc/**/taglib/**/*.class</exclude>
- <exclude>com/ouc/**/domain/**/*.class</exclude>
- <exclude>com/ouc/**/model/**/*.class</exclude>
- <exclude>com/ouc/**/dto/**/*.class</exclude>
- <exclude>com/ouc/**/util/DataFormat.class</exclude>
- </excludes>
- </instrumentation>
- <formats>
- <format>xml</format>
- </formats>
- </configuration>
- </plugin>
- </plugins>
- </build>
- <!-- Maven私服配置 -->
- <repositories>
- <repository>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- <id>central</id>
- <name>libs-release</name>
- <url>http://127.0.0.1:8081/artifactory/libs-release</url>
- </repository>
- <repository>
- <snapshots />
- <id>snapshots</id>
- <name>libs-snapshot</name>
- <url>http://<span style="font-family: Arial, Helvetica, sans-serif;">127.0.0.1</span><span style="font-family: Arial, Helvetica, sans-serif;">:8081/artifactory/libs-snapshot</url></span>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- <id>central</id>
- <name>plugins-release</name>
- <url>http://127.0.0.1:8081/artifactory/plugins-release</url>
- </pluginRepository>
- <pluginRepository>
- <snapshots />
- <id>snapshots</id>
- <name>plugins-snapshot</name>
- <url>http://127.0.0.1:8081/artifactory/plugins-snapshot</url>
- </pluginRepository>
- </pluginRepositories>
- <distributionManagement>
- <repository>
- <id>libs-release-local</id>
- <name>Team Artifactory Release Repository</name>
- <url>http://127.0.0.1:8081/artifactory/libs-release-local</url>
- </repository>
- <snapshotRepository>
- <id>libs-snapshot-local</id>
- <name>Team Artifactory Snapshot Repository</name>
- <url>http://127.0.0.1:8081/artifactory/libs-snapshot-local</url>
- </snapshotRepository>
- </distributionManagement>
- <!-- ~~~~~~~~~~Maven私服配置结束 -->
- </project>
2)开发配置文件示例:filter-dev.properties
- #datasource
- #Oracle
- #datasource.url=jdbc:oracle:thin:@127.0.0.1:1521/ORCL
- #datasource.name=test
- #datasource.password=1234
- #datasource.maxActive=20
- #datasource.initialiSize=10
- #MySQL
- datasource.url=jdbc:mysql://127.0.0.1:3310/test
- datasource.name=test
- datasource.password=123,test
- datasource.maxActive=20
- datasource.initialiSize=10
- env.type=DEV
- ### system url
- server.name=MKHL
- ## log configuration
- loggingRoot=.
- loggingLevel=INFO
- #appname
- app.name=MKHL
- #app.email
- app.email=oopAdmin@ouc.com
- #system.admin
- system.admin=Tom
- #config center address
- service.config.center.address=http://127.0.0.1:8888/services/address/getConfigCenter
- #quartz
- quartz.enable=false
- #terracotta
- terracotta.enable=false
- #dubbo
- dubbo.registry.address=127.0.0.1:2181,110.135.7.56:2181,110.135.6.68:2181
- dubbo.registry.address.localhost=127.0.0.1:2181
- dubbo.port=-1
- #file upload
- file.save.path=
- #jmx
- http.host=localhost
- http.port=9988
- #druid
- druid.monitor.enable=false
- #spring boot
- spring.boot.server.port=8010
- spring.boot.monitor.port=8020
- #lts
- lts.taskTracker.nodeGroup=${server.name}_trade_TaskTracker
- lts.jobClient.nodeGroup=${server.name}_jobClient
- lts.alarm.emails=
- lts.alarm.phones=
- lts.interval.count=
3.客户端接口工程mkhl-service-client:
service-client工程结构如下图:
1) service-client工程pom文件
- <?xml version="1.0"?>
- <project
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
- xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>1.0.0</modelVersion>
- <parent>
- <artifactId>mkhl-parent</artifactId>
- <groupId>com.ouc.mkhl.supplier</groupId>
- <version>1.0</version>
- <relativePath>../mkhl-parent/pom.xml</relativePath>
- </parent>
- <artifactId>mkhl-service-client</artifactId>
- <name>mkhl-service-client</name>
- <url>http://maven.apache.org</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <dependencies>
- <dependency>
- <groupId>io.terminus.pampas</groupId>
- <artifactId>pampas-client</artifactId>
- </dependency>
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>dubbo</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.ouc</groupId>
- <artifactId>openapi-service-client</artifactId>
- </dependency>
- </dependencies>
- </project>
4.客户端接口实现工程mkhl-service-impl:
service-impl工程结构如下图:
1)配置文件spring-dubbo.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://code.alibabatech.com/schema/dubbo
- http://code.alibabatech.com/schema/dubbo/dubbo.xsd
- ">
- <dubbo:application name="${app.name}" owner="oop" organization="ouc"/>
- <dubbo:monitor protocol="registry"></dubbo:monitor>
- <!-- <dubbo:protocol name="dubbo" port="${dubbo.port}" /> -->
- <!-- <dubbo:protocol name="rmi" port="1099" /> -->
- <!-- <dubbo:protocol name="hessian" port="8089" /> -->
- <!-- <dubbo:protocol name="webservice" port="9999" server="jetty"/> -->
- <dubbo:provider delay="-1" timeout="10000" retries="3" >
- <dubbo:parameter key="almId" value="S00001"/>
- <dubbo:parameter key="package" value="S00001_OPENAPI"/>
- </dubbo:provider>
- <!-- 多注册中心配置 -->
- <dubbo:registry id="qingdaoRegistry" protocol="zookeeper" address="${dubbo.registry.address}" file="${user.home}/${server.name}/impl/dubbo/dubbo.cache" timeout="60000"/>
- <!-- <dubbo:provider delay="-1" protocol="dubbo" timeout="10000" retries="3"></dubbo:provider> -->
- <!-- <dubbo:protocol name="dubbo" serialization="kryo" port="-1" optimizer="com.ouc.mkhl.supplier.util.SerializationOptimizerImpl"></dubbo:protocol> -->
- <dubbo:protocol name="dubbo" port="-1" optimizer="com.ouc.mkhl.supplier.util.SerializationOptimizerImpl"></dubbo:protocol>
- <dubbo:protocol name="rest" port="8989" server="tomcat" contextpath="services" extension="com.ouc.openplatform.dubbo.filter.CacheControlFilter,com.ouc.mkhl.supplier.filter.CustomExceptionMapper"></dubbo:protocol>
- <!-- OOP1.0配置 -->
- <bean id="agentImpl" class="io.terminus.pampas.client.AgentImpl" />
- <dubbo:service filter="default,dubboProfileFilter" interface="io.terminus.pampas.client.Agent"
- ref="agentImpl" version="MKHL1.0" protocol="dubbo"/>
- <!-- ref="agentImpl" version="${server.name}" protocol="dubbo"/> -->
- <!-- <dubbo:service filter="default,dubboProfileFilter" interface="io.terminus.pampas.client.Agent" ref="agentImpl" version="${server.name}" protocol="dubbo"/> -->
- <!-- 服务方法认证 -->
- <dubbo:reference id="serviceInfoClient" registry="qingdaoRegistry" owner="oop" interface="com.ouc.openapi.client.api.ServiceInfoClient" version="1.0" protocol="dubbo" timeout="100000" init="true" />
- <dubbo:reference id="sendDubboMessageClient" registry="qingdaoRegistry" owner="oop" interface="com.ouc.openplatform.hmc.client.send.SendMessageClient" version="1.0" protocol="dubbo" timeout="100000" init="true" />
- <dubbo:reference id="serviceMethodAuthorizeClient" registry="qingdaoRegistry" owner="oop" interface="com.ouc.openapi.client.api.ServiceMethodAuthorizeClient" version="2.0" protocol="dubbo" timeout="100000" init="true" />
- <!-- 服务自动注册 -->
- <dubbo:reference id="serviceAutoRegistryServiceClient" registry="qingdaoRegistry" owner="scg" interface="com.ouc.openapi.client.api.ServiceAutoRegistryServiceClient" version="2.0" protocol="dubbo" timeout="100000" init="true" />
- </beans>
2)spring-user-provider.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://code.alibabatech.com/schema/dubbo
- http://code.alibabatech.com/schema/dubbo/dubbo.xsd
- ">
- <!-- 使用dubbo协议暴露服务 -->
- <dubbo:service interface="com.ouc.mkhl.supplier.service.SupplyUserServiceClient" owner="ouc" ref="supplyUserServiceClient" protocol="dubbo" delay="-1" registry="qingdaoRegistry690" version="wp1.0"/>
- <bean id="supplyUserServiceClient" class="com.ouc.mkhl.supplier.service.impl.SupplyUserServiceClientImpl">
- <property name="supplyUserService" ref="supplyUserService"/>
- </bean>
- </beans>
5.任务调度工程mkhl-task:
1)任务调度工程的pom文件:
- <?xml version="1.0" encoding="UTF-8"?>
- <project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>1.0.0</modelVersion>
- <artifactId>mkhl-task</artifactId>
- <name>mkhl-task</name>
- <parent>
- <artifactId>mkhl-parent</artifactId>
- <groupId>com.ouc.mkhl.supplier</groupId>
- <version>1.0</version>
- <relativePath>../mkhl-parent/pom.xml</relativePath>
- </parent>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <dependencies>
- <dependency>
- <groupId>com.ouc.mkhl.supplier</groupId>
- <artifactId>mkhl-biz</artifactId>
- </dependency>
- <!-- lts -->
- <dependency>
- <groupId>com.lts</groupId>
- <artifactId>lts-tasktracker</artifactId>
- </dependency>
- <dependency>
- <groupId>com.lts</groupId>
- <artifactId>lts-jobclient</artifactId>
- </dependency>
- <dependency>
- <groupId>com.lts</groupId>
- <artifactId>lts-spring</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-all</artifactId>
- </dependency>
- <dependency>
- <groupId>org.fusesource.leveldbjni</groupId>
- <artifactId>leveldbjni-all</artifactId>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <!-- NOTE: We don't need a groupId specification because the group is
- org.apache.maven.plugins ...which is assumed by default.
- -->
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.4</version>
- <configuration>
- <descriptor>src/main/assemble/service-impl-jar-with-dependency.xml</descriptor>
- <!--
- <archive>
- <manifest>
- <addClasspath>true</addClasspath>
- <classpathPrefix>lib/</classpathPrefix>
- <mainClass>com.alibaba.dubbo.container.Main</mainClass>
- </manifest>
- </archive>
- -->
- </configuration>
- <executions>
- <execution>
- <id>make-assembly</id> <!-- this is used for inheritance merges -->
- <phase>package</phase> <!-- bind to the packaging phase -->
- <goals>
- <goal>single</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </project>
2)spring-lts-job.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"
- >
- <bean id="accountExpireJob" class="com.lts.core.domain.Job">
- <property name="taskId" value="${server.name}_account_expire_job"/>
- <property name="taskTrackerNodeGroup" value="${lts.taskTracker.nodeGroup}"/>
- <property name="cronExpression" value="0 0/10 * * * ?"/>
- <property name="replaceOnExist" value="true"/>
- <property name="needFeedback" value="true"/>
- <property name="retryTimes" value="0"/>
- <property name="extParams">
- <map>
- <entry key="jobRunner" value="com.ouc.mkhl.supplier.task.AccountExpireJob"/>
- </map>
- </property>
- </bean>
- <bean id="ltsJobSubmitUtil" class="com.ouc.openplatform.lts.LtsJobSubmitUtil" init-method="initSubmitJobs">
- <property name="jobClient" ref="jobClient"/>
- <property name="jobList">
- <list>
- <ref bean="accountExpireJob"/>
- </list>
- </property>
- </bean>
- </beans>
6.总的后台框架管理工程:
框架管理工程pom文件:
- <?xml version="1.0" encoding="UTF-8"?>
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>1.0.0</modelVersion>
- <groupId>com.ouc.mkhl.supplier</groupId>
- <artifactId>mkhl</artifactId>
- <packaging>pom</packaging>
- <version>1.0</version>
- <name>mkhl模块商互联平台</name>
- <url>http://127.0.0.1:8001/mkhl</url>
- <properties>
- <sonar.jdbc.url>jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&autoReconnect=true</sonar.jdbc.url>
- <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
- <sonar.jdbc.username>sonar</sonar.jdbc.username>
- <sonar.jdbc.password>sonar</sonar.jdbc.password>
- <sonar.host.url>http://127.0.0.1:9000</sonar.host.url>
- <sonar.scm.enabled>true</sonar.scm.enabled>
- <sonar.core.codeCoveragePlugin>cobertura</sonar.core.codeCoveragePlugin>
- <sonar.cobertura.maxmen>1024M</sonar.cobertura.maxmen>
- <!-- <sonar.doxygen.generateDocumentation>true</sonar.doxygen.generateDocumentation> -->
- <file.encoding>UTF-8</file.encoding>
- </properties>
- <modules>
- <module>mkhl-parent</module>
- <module>mkhl-service-client</module>
- <module>mkhl-biz</module>
- <module>mkhl-service-impl</module>
- <module>mkhl-common</module>
- <module>mkhl-task</module>
- </modules>
- </project>
7.桥梁工程:
1) 桥梁工程pom文件:
- <?xml version="1.0" encoding="UTF-8"?>
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>1.0.0</modelVersion>
- <groupId>com.ouc.mkhl</groupId>
- <artifactId>MKHL-bridge</artifactId>
- <packaging>war</packaging>
- <version>1.0-SNAPSHOT</version>
- <name>MKHL-bridge</name>
- <url>http://www.terminus.io</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <hfs.service.client.version>2.0.1</hfs.service.client.version>
- <timestamp>${maven.build.timestamp}</timestamp>
- <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
- <pampas.version>4.1.3</pampas.version>
- <spring.version>3.2.9.RELEASE</spring.version>
- <mkhl.version>1.0.0</mkhl.version>
- <dubbo.version>2.8.3</dubbo.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.apache.poi</groupId>
- <artifactId>poi-ooxml</artifactId>
- <version>3.8</version>
- <exclusions>
- <exclusion>
- <artifactId>xml-apis</artifactId>
- <groupId>xml-apis</groupId>
- </exclusion>
- <exclusion>
- <artifactId>stax-api</artifactId>
- <groupId>stax</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-web</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-webmvc</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context-support</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <version>3.0.1</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.github.sgroschupf</groupId>
- <artifactId>zkclient</artifactId>
- <version>0.1</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>1.7.5</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- <version>1.7.5</version>
- </dependency>
- <dependency>
- <groupId>io.terminus.pampas</groupId>
- <artifactId>pampas-client</artifactId>
- <version>${pampas.version}</version>
- </dependency>
- <dependency>
- <groupId>io.terminus.pampas</groupId>
- <artifactId>pampas-webc</artifactId>
- <version>${pampas.version}</version>
- </dependency>
- <dependency>
- <groupId>io.terminus.pampas</groupId>
- <artifactId>pampas-design</artifactId>
- <version>${pampas.version}</version>
- </dependency>
- <dependency>
- <groupId>com.ouc</groupId>
- <artifactId>oop-core</artifactId>
- <version>3.0.2</version>
- </dependency>
- <!-- ehcache -->
- <dependency>
- <groupId>net.sf.ehcache</groupId>
- <artifactId>ehcache</artifactId>
- <version>2.6.2</version>
- <type>pom</type>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.6</version>
- </dependency>
- <dependency>
- <groupId>commons-net</groupId>
- <artifactId>commons-net</artifactId>
- <version>3.3</version>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.17</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>com.ouc.openplatform.hac</groupId>
- <artifactId>hac-service-client</artifactId>
- <version>2.1.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>com.ouc.openplatform.hfs</groupId>
- <artifactId>hfs-service-client</artifactId>
- <version>${hfs.service.client.version}</version>
- </dependency>
- <dependency>
- <groupId>commons-fileupload</groupId>
- <artifactId>commons-fileupload</artifactId>
- <version>1.3</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
- <version>1.9.13</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.9.13</version>
- </dependency>
- </dependencies>
- <build>
- <finalName>MKHL-bridge</finalName>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <filtering>true</filtering>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.7</version>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>2.3</version>
- <configuration>
- <webResources>
- <webResource>
- <directory>src/main/webapp/WEB-INF</directory>
- <includes>
- <include>*.xml</include>
- </includes>
- <targetPath>WEB-INF</targetPath>
- <filtering>true</filtering>
- </webResource>
- </webResources>
- </configuration>
- </plugin>
- <!-- 工程编码插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.7</source>
- <target>1.7</target>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <!-- 生成javadoc插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <configuration>
- <charset>UTF-8</charset>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <!-- 打包java源码 -->
- <plugin>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.2.1</version>
- <configuration>
- <attach>true</attach>
- </configuration>
- <executions>
- <execution>
- <phase>compile</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <!-- 导入eclipse工程插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.9</version>
- <configuration>
- <downloadSources>true</downloadSources>
- <downloadJavadocs>true</downloadJavadocs>
- <wtpversion>2.0</wtpversion>
- <additionalProjectnatures>
- <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
- </additionalProjectnatures>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.6</version>
- <configuration>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.12</version>
- <configuration>
- <argLine>-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=128m</argLine>
- <includes>
- <include>com/ouc/**/*Test*.java</include>
- </includes>
- <printSummary>true</printSummary>
- </configuration>
- </plugin>
- </plugins>
- <filters>
- <filter>src/main/filter/${env}.properties</filter>
- </filters>
- </build>
- <profiles>
- <profile>
- <id>dev</id>
- <properties>
- <env>dev</env>
- </properties>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- </profile>
- <profile>
- <id>test</id>
- <properties>
- <env>test</env>
- </properties>
- </profile>
- <profile>
- <id>production</id>
- <properties>
- <env>production</env>
- </properties>
- </profile>
- </profiles>
- <!-- Maven私服配置 -->
- <repositories>
- <repository>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- <id>central</id>
- <name>libs-release</name>
- <url>http://127.0.0.1:8081/artifactory/libs-release</url>
- </repository>
- <repository>
- <snapshots />
- <id>snapshots</id>
- <name>libs-snapshot</name>
- <url>http://<span style="font-family: Arial, Helvetica, sans-serif;">127.0.0.1</span><span style="font-family: Arial, Helvetica, sans-serif;">:8081/artifactory/libs-snapshot</url></span>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- <id>central</id>
- <name>plugins-release</name>
- <url>http://<span style="font-family: Arial, Helvetica, sans-serif;">127.0.0.1</span><span style="font-family: Arial, Helvetica, sans-serif;">:8081/artifactory/plugins-release</url></span>
- </pluginRepository>
- <pluginRepository>
- <snapshots />
- <id>snapshots</id>
- <name>plugins-snapshot</name>
- <url>http://<span style="font-family: Arial, Helvetica, sans-serif;">127.0.0.1</span><span style="font-family: Arial, Helvetica, sans-serif;">:8081/artifactory/plugins-snapshot</url></span>
- </pluginRepository>
- </pluginRepositories>
- <distributionManagement>
- <repository>
- <id>libs-release-local</id>
- <name>Team Artifactory Release Repository</name>
- <url>http://<span style="font-family: Arial, Helvetica, sans-serif;">127.0.0.1</span><span style="font-family: Arial, Helvetica, sans-serif;">:8081/artifactory/libs-release-local</url></span>
- </repository>
- <snapshotRepository>
- <id>libs-snapshot-local</id>
- <name>Team Artifactory Snapshot Repository</name>
- <url>http://<span style="font-family: Arial, Helvetica, sans-serif;">127.0.0.1</span><span style="font-family: Arial, Helvetica, sans-serif;">:8081/artifactory/libs-snapshot-local</url></span>
- </snapshotRepository>
- </distributionManagement>
- <!-- Maven私服配置结束 -->
- </project>
2) 开发环境配置:dev.properties
- mode=dev
- logLevel=INFO
- logAdditivity=true
- logDefaultFile=STDOUT
- logRoot=${user.home}
- validateUrl=http://127.0.0.1:6380
- #Redis
- redisHost=127.0.0.1
- redisPort=6379
- redisMaxTotal=20
- redisMaxIdle=2
- redisMaxWaitMillis=10000
- redisTestOnBorrow=true
- #Dubbo
- dubbo.registry.address=127.0.0.1:2181,110.135.8.58:2181,110.135.9.88:2181
- dubbo.port=20800
- store.system.address=127.0.0.1:50000,110.135.8.58:50000,210.135.6.88:50000
- terracotta.server=127.0.0.1:9540,210.135.7.98:9540
- terracotta.enable=false
- #need edit
- app.hac.version=
- app.name=MKHL
- server.name=MKHL
- server.key=MKHL-bridge
- dubbo.application.name=MKHL-bridge
- publicPathPrefix=D:/MyEclipse2014Workspaces/MKHL-OOP/MKHL
- domain.name=www.mkhl.com
- login.after.jump.url=/login
- #IDM or IDS
- auth.source=IDM
- co.session.id=
- ids.app.name=
- passwd.key=
3) web.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
- version="3.0">
- <context-param>
- <param-name>startupListeners</param-name>
- <param-value>com.ouc.mkhl.utils.SysconfigInitListener</param-value>
- </context-param>
- <listener>
- <listener-class>com.ouc.openplatform.webapp.listener.BootstrapListener</listener-class>
- </listener>
- <!-- 集群session配置-基于缓存实现 -->
- <filter>
- <filter-name>ClusterSessionFilter</filter-name>
- <filter-class>com.ouc.openplatform.session.filter.ClusterSessionFilter</filter-class>
- <init-param>
- <param-name>sessionServiceId</param-name>
- <param-value>sessionService</param-value>
- </init-param>
- <init-param>
- <param-name>sessionKey</param-name>
- <param-value>MKHL_sessionKey</param-value>
- </init-param>
- <!-- <init-param>
- <param-name>requestUriIgnorePattern</param-name>
- <param-value>.*\.(png|gif|jpg|css|js|ico|jpeg|htm|html)$</param-value>
- </init-param> -->
- </filter>
- <filter-mapping>
- <filter-name>ClusterSessionFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <!-- The definition of the Root Spring Container shared by all Servlets
- and Filters -->
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- classpath*:/spring/root-context.xml,
- classpath*:/spring/spring-filters.xml
- </param-value>
- </context-param>
- <context-param>
- <param-name>webAppRootKey</param-name>
- <param-value>ouc.mkhl.web.root</param-value>
- </context-param>
- <context-param>
- <param-name>spring.profiles.active</param-name>
- <param-value>{mode}</param-value>
- </context-param>
- <session-config>
- <!-- com.ouc.web.xml expects the session timeout in minutes: -->
- <session-timeout>30</session-timeout>
- <cookie-config>
- <http-only>true</http-only>
- </cookie-config>
- </session-config>
- <!-- Creates the Spring Container shared by all Servlets and Filters -->
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
- <!-- Processes application requests -->
- <servlet>
- <servlet-name>appServlet</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath*:/spring/appServlet/servlet-context.xml</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>appServlet</servlet-name>
- <url-pattern>/</url-pattern>
- </servlet-mapping>
- <filter>
- <filter-name>encodingFilter</filter-name>
- <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
- <init-param>
- <param-name>encoding</param-name>
- <param-value>UTF-8</param-value>
- </init-param>
- <init-param>
- <param-name>forceEncoding</param-name>
- <param-value>true</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>encodingFilter</filter-name>
- <servlet-name>appServlet</servlet-name>
- </filter-mapping>
- <filter>
- <filter-name>hiddenHttpMethodFilter</filter-name>
- <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>hiddenHttpMethodFilter</filter-name>
- <servlet-name>appServlet</servlet-name>
- </filter-mapping>
- </web-app>
4)root-context.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:util="http://www.springframework.org/schema/util"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:task="http://www.springframework.org/schema/task"
- xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/aop
- http://www.springframework.org/schema/aop/spring-aop.xsd
- http://www.springframework.org/schema/util
- http://www.springframework.org/schema/util/spring-util.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context.xsd
- http://code.alibabatech.com/schema/dubbo
- http://code.alibabatech.com/schema/dubbo/dubbo.xsd
- http://www.springframework.org/schema/task
- http://www.springframework.org/schema/task/spring-task.xsd">
- <context:component-scan base-package="io.terminus.pampas" />
- <util:properties id="app" location="classpath:app.properties" />
- <bean id="implantApp" class="io.terminus.pampas.engine.model.App">
- <property name="key" value="${server.key}" />
- <property name="domain" value="${domain.name}" />
- <property name="assetsHome" value="${publicPathPrefix}\public\" />
- <property name="configPath" value="${publicPathPrefix}\public\back_config.yaml" />
- </bean>
- <bean id="resourceServiceClientAdapter" class="com.ouc.mkhl.security.service.impl.ResourceServiceClientAdapterImpl">
- <property name="resourceServiceClient" ref="resourceServiceClient" />
- <property name="appHacVersion" value="${app.hac.version}" />
- </bean>
- <bean id="fileServiceClientAdapter" class="com.ouc.mkhl.security.service.impl.FileServiceClientAdapterImpl">
- <property name="fileServiceClient" ref="fileServiceClient" />
- <property name="storeSystemAddress" value="${store.system.address}" />
- </bean>
- <bean id="importExcelService" class="com.ouc.mkhl.security.service.impl.ImportExcelServiceImpl"/>
- <bean id="hacUserServiceCliAdapter" class="com.ouc.mkhl.security.service.impl.HacUserServiceCliAdapterImpl" init-method="init">
- <property name="hacUserServiceCli" ref="hacUserServiceCli" />
- <property name="authSourcce" value="${auth.source}" />
- <property name="coSessionId" value="${co.session.id}" />
- <property name="idsAppName" value="${ids.app.name}" />
- <property name="passwdKey" value="${passwd.key}" />
- </bean>
- <bean id="setting" class="io.terminus.pampas.engine.Setting">
- <property name="mode" value="IMPLANT"/>
- <property name="implantApp" ref="implantApp"/>
- <property name="devMode" value="true" />
- </bean>
- <dubbo:application name="${dubbo.application.name}" />
- <dubbo:registry id="qingdaoRegistry" protocol="zookeeper" address="${dubbo.registry.address}" />
- <dubbo:protocol name="dubbo" port="${dubbo.port}" />
- <!-- 权限用dubbo接口配置 -->
- <dubbo:reference id="resourceServiceClient" registry="qingdaoRegistry" interface="com.ouc.openplatform.hac.resource.service.HacResourceServiceClient" version="2.1" protocol="dubbo" timeout="100000" init="true" />
- <!-- 文件上传下载接口 -->
- <dubbo:reference id="fileServiceClient" registry="qingdaoRegistry" interface="com.ouc.openplatform.hfs.client.service.FileServiceClient" version="1.0.0" protocol="dubbo" timeout="100000" init="true"/>
- <!-- 用户认证 -->
- <dubbo:reference id="hacUserServiceCli" registry="qingdaoRegistry" interface="com.ouc.openplatform.hac.service.HacUserServiceCli" version="2.1" protocol="dubbo" timeout="100000" init="true"/>
- <import resource="redis-persistence-context.xml"/>
- <alias name="jedisPool" alias="pampasJedisPool"/>
- <import resource="classpath*:/spring/cache/spring-cache.xml" />
- <import resource="classpath*:/pampas/engine-context.xml"/>
- <import resource="classpath*:/pampas/register-context.xml"/>
- <import resource="classpath*:/pampas/design-context.xml"/>
- </beans>
5)servlet-context.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <beans:beans xmlns="http://www.springframework.org/schema/mvc"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/mvc
- http://www.springframework.org/schema/mvc/spring-mvc.xsd
- http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
- <!-- DispatcherServlet Context: defines this servlet's request-processing
- infrastructure -->
- <context:component-scan
- base-package="io.terminus.pampas.webc,com.ouc.mkhl.controller" />
- <annotation-driven>
- <message-converters>
- <beans:bean
- class="org.springframework.http.converter.StringHttpMessageConverter">
- <beans:constructor-arg value="UTF-8" />
- <beans:property name="supportedMediaTypes">
- <beans:list>
- <beans:value>text/plain;charset=UTF-8</beans:value>
- <beans:value>text/html;charset=UTF-8</beans:value>
- </beans:list>
- </beans:property>
- </beans:bean>
- <beans:bean class="io.terminus.pampas.webc.converter.JsonMessageConverter" />
- </message-converters>
- </annotation-driven>
- <beans:bean
- class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
- <beans:property name="messageConverters">
- <beans:list>
- <beans:bean
- class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />
- <beans:bean id="jsonHttpMessageConverter"
- class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
- <beans:property name="supportedMediaTypes">
- <beans:list>
- <beans:value>text/plain;charset=UTF-8</beans:value>
- <beans:value>text/html;charset=UTF-8</beans:value>
- </beans:list>
- </beans:property>
- </beans:bean>
- </beans:list>
- </beans:property>
- </beans:bean>
- <!--<beans:bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> -->
- <!--<beans:property name="basenames"> -->
- <!--<beans:list> -->
- <!--<beans:value>classpath:messages</beans:value> -->
- <!--<beans:value>classpath:exceptions</beans:value> -->
- <!--<beans:value>classpath:templates</beans:value> -->
- <!--</beans:list> -->
- <!--</beans:property> -->
- <!--<beans:property name="cacheSeconds" value="3600"> -->
- <!--</beans:property> -->
- <!--<beans:property name="useCodeAsDefaultMessage" value="true"/> -->
- <!--<beans:property name="defaultEncoding" value="UTF-8"/> -->
- <!--</beans:bean> -->
- <interceptors>
- <beans:bean
- class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
- <beans:property name="paramName" value="lang" />
- </beans:bean>
- <beans:bean class="io.terminus.pampas.webc.interceptor.AppInterceptor" />
- <beans:bean class="io.terminus.pampas.webc.interceptor.CookieInterceptor" />
- <!-- <beans:bean -->
- <!-- class="com.ouc.mkhl.interceptor.LoginContextInterceptor"> -->
- <!-- <beans:property name="noLoginAuthUrlList"> -->
- <!-- <beans:list> -->
- <!-- <beans:value>/login</beans:value> -->
- <!-- <beans:value>/user/login</beans:value> -->
- <!-- <beans:value>/user/logout</beans:value> -->
- <!-- </beans:list> -->
- <!-- </beans:property> -->
- <!-- </beans:bean> -->
- <!-- <beans:bean -->
- <!-- class="com.ouc.mkhl.interceptor.DefautSecurityInterceptor"> -->
- <!-- <beans:property name="resourceServiceClientAdapter" -->
- <!-- ref="resourceServiceClientAdapter" /> -->
- <!-- <beans:property name="ignoralList"> -->
- <!-- <beans:list> -->
- <!-- <beans:value>/login</beans:value> -->
- <!-- <beans:value>/user/login</beans:value> -->
- <!-- <beans:value>/user/logout</beans:value> -->
- <!-- <beans:value>/index</beans:value> -->
- <!-- <beans:value>/noAuth</beans:value> -->
- <!-- <beans:value>/assets/</beans:value> -->
- <!-- <beans:value>/file_upload</beans:value> -->
- <!-- <beans:value>/ftp_file</beans:value> -->
- <!-- <beans:value>/exportExcel</beans:value> -->
- <!-- <beans:value>/importExcel</beans:value> -->
- <!-- </beans:list> -->
- <!-- </beans:property> -->
- <!-- </beans:bean> -->
- </interceptors>
- <!-- <beans:bean id="localeResolver"
- class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
- <beans:property name="defaultLocale" value="cn" />
- </beans:bean> -->
- <beans:bean id="viewResolver"
- class="io.terminus.pampas.webc.resolver.HandlebarsViewResolver">
- <beans:constructor-arg ref="handlebarsEngine" />
- <beans:property name="cache" value="#{app.mode != 'dev'}" />
- </beans:bean>
- <beans:bean class="io.terminus.pampas.webc.resolver.ExceptionResolver">
- <beans:property name="order" value="0" />
- <!-- 定义默认的异常处理页面,当该异常类型的注册时使用 -->
- <beans:property name="defaultErrorView" value="error" />
- </beans:bean>
- <beans:bean
- class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
- <beans:property name="defaultHandler" ref="entrance" />
- </beans:bean>
- <!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver -->
- <beans:bean id="multipartResolver"
- class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
- </beans:bean>
- </beans:beans>