Browse Source

将日志服务独立到hos-logger中。目前hos-agent暂时没有作用,另外hos-agent的计划是代理zbus和shell的命令。

airhead 7 years ago
parent
commit
1be8939ffe

+ 23 - 1
README.md

@ -10,4 +10,26 @@ Cosharp统一使用Maven管理进行版本库管理。
## TODO:
- Hos-parent还比较乱,需要进一步去除无用的依赖
- Hos-admin和Hos-rest还存在部分有版本号的依赖
- Hos-admin和Hos-rest还存在部分有版本号的依赖
# 代码结构
模块| 说明
---|---
hos-parent | 依赖Jar版本管理
hos-core | 通用组件
hos-web-framework | 业务相关通用组件
hos-arbiter | 服务协调组件
hos-broker | 服务运行组件
hos-admin | 控制管理 
hos-rest | 内置服务
hos-camel2| 服务编排实现模块
hos-dfs | 基于Mongo GirdFS的简易文件服务器
hos-agent | 日志服务组件等
hos-docker | Docker化模块
sdk | 开发包
# 系统结构
系统 | 组成模块(只列可运行模块)
---|---
控制管理系统 | hos-admin,hos-dfs
终端交换系统 | hos-arbiter,hos-broker,hos-rest

+ 24 - 0
hos-logger/.gitignore

@ -0,0 +1,24 @@
target/
!.mvn/wrapper/maven-wrapper.jar
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
nbproject/private/
build/
nbbuild/
dist/
nbdist/
.nb-gradle/

BIN
hos-logger/.mvn/wrapper/maven-wrapper.jar


+ 1 - 0
hos-logger/.mvn/wrapper/maven-wrapper.properties

@ -0,0 +1 @@
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip

+ 225 - 0
hos-logger/mvnw

@ -0,0 +1,225 @@
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven2 Start Up Batch script
#
# Required ENV vars:
# ------------------
#   JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
#   M2_HOME - location of maven2's installed home dir
#   MAVEN_OPTS - parameters passed to the Java VM when running Maven
#     e.g. to debug Maven itself, use
#       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if [ -z "$MAVEN_SKIP_RC" ] ; then
  if [ -f /etc/mavenrc ] ; then
    . /etc/mavenrc
  fi
  if [ -f "$HOME/.mavenrc" ] ; then
    . "$HOME/.mavenrc"
  fi
fi
# OS specific support.  $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
mingw=false
case "`uname`" in
  CYGWIN*) cygwin=true ;;
  MINGW*) mingw=true;;
  Darwin*) darwin=true
    # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
    # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
    if [ -z "$JAVA_HOME" ]; then
      if [ -x "/usr/libexec/java_home" ]; then
        export JAVA_HOME="`/usr/libexec/java_home`"
      else
        export JAVA_HOME="/Library/Java/Home"
      fi
    fi
    ;;
esac
if [ -z "$JAVA_HOME" ] ; then
  if [ -r /etc/gentoo-release ] ; then
    JAVA_HOME=`java-config --jre-home`
  fi
fi
if [ -z "$M2_HOME" ] ; then
  ## resolve links - $0 may be a link to maven's home
  PRG="$0"
  # need this for relative symlinks
  while [ -h "$PRG" ] ; do
    ls=`ls -ld "$PRG"`
    link=`expr "$ls" : '.*-> \(.*\)$'`
    if expr "$link" : '/.*' > /dev/null; then
      PRG="$link"
    else
      PRG="`dirname "$PRG"`/$link"
    fi
  done
  saveddir=`pwd`
  M2_HOME=`dirname "$PRG"`/..
  # make it fully qualified
  M2_HOME=`cd "$M2_HOME" && pwd`
  cd "$saveddir"
  # echo Using m2 at $M2_HOME
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
  [ -n "$M2_HOME" ] &&
    M2_HOME=`cygpath --unix "$M2_HOME"`
  [ -n "$JAVA_HOME" ] &&
    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
  [ -n "$CLASSPATH" ] &&
    CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi
# For Migwn, ensure paths are in UNIX format before anything is touched
if $mingw ; then
  [ -n "$M2_HOME" ] &&
    M2_HOME="`(cd "$M2_HOME"; pwd)`"
  [ -n "$JAVA_HOME" ] &&
    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
  # TODO classpath?
fi
if [ -z "$JAVA_HOME" ]; then
  javaExecutable="`which javac`"
  if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
    # readlink(1) is not available as standard on Solaris 10.
    readLink=`which readlink`
    if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
      if $darwin ; then
        javaHome="`dirname \"$javaExecutable\"`"
        javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
      else
        javaExecutable="`readlink -f \"$javaExecutable\"`"
      fi
      javaHome="`dirname \"$javaExecutable\"`"
      javaHome=`expr "$javaHome" : '\(.*\)/bin'`
      JAVA_HOME="$javaHome"
      export JAVA_HOME
    fi
  fi
fi
if [ -z "$JAVACMD" ] ; then
  if [ -n "$JAVA_HOME"  ] ; then
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
      # IBM's JDK on AIX uses strange locations for the executables
      JAVACMD="$JAVA_HOME/jre/sh/java"
    else
      JAVACMD="$JAVA_HOME/bin/java"
    fi
  else
    JAVACMD="`which java`"
  fi
fi
if [ ! -x "$JAVACMD" ] ; then
  echo "Error: JAVA_HOME is not defined correctly." >&2
  echo "  We cannot execute $JAVACMD" >&2
  exit 1
fi
if [ -z "$JAVA_HOME" ] ; then
  echo "Warning: JAVA_HOME environment variable is not set."
fi
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir() {
  if [ -z "$1" ]
  then
    echo "Path not specified to find_maven_basedir"
    return 1
  fi
  basedir="$1"
  wdir="$1"
  while [ "$wdir" != '/' ] ; do
    if [ -d "$wdir"/.mvn ] ; then
      basedir=$wdir
      break
    fi
    # workaround for JBEAP-8937 (on Solaris 10/Sparc)
    if [ -d "${wdir}" ]; then
      wdir=`cd "$wdir/.."; pwd`
    fi
    # end of workaround
  done
  echo "${basedir}"
}
# concatenates all lines of a file
concat_lines() {
  if [ -f "$1" ]; then
    echo "$(tr -s '\n' ' ' < "$1")"
  fi
}
BASE_DIR=`find_maven_basedir "$(pwd)"`
if [ -z "$BASE_DIR" ]; then
  exit 1;
fi
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
echo $MAVEN_PROJECTBASEDIR
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
  [ -n "$M2_HOME" ] &&
    M2_HOME=`cygpath --path --windows "$M2_HOME"`
  [ -n "$JAVA_HOME" ] &&
    JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
  [ -n "$CLASSPATH" ] &&
    CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
  [ -n "$MAVEN_PROJECTBASEDIR" ] &&
    MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
fi
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
exec "$JAVACMD" \
  $MAVEN_OPTS \
  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
  "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
  ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

+ 143 - 0
hos-logger/mvnw.cmd

@ -0,0 +1,143 @@
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements.  See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership.  The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License.  You may obtain a copy of the License at
@REM
@REM    http://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied.  See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven2 Start Up Batch script
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM M2_HOME - location of maven2's installed home dir
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM     e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=%ERROR_CODE%
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
if "%MAVEN_BATCH_PAUSE%" == "on" pause
if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
exit /B %ERROR_CODE%

+ 88 - 0
hos-logger/pom.xml

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.yihu.hos</groupId>
        <artifactId>hos-parent</artifactId>
        <version>1.3.0</version>
        <relativePath>../hos-parent</relativePath><!-- lookup parent from repository -->
    </parent>
    <artifactId>hos-logger</artifactId>
    <version>1.3.0</version>
    <packaging>jar</packaging>
    <name>hos-logger</name>
    <description>hos logger</description>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongo-java-driver</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.jcraft</groupId>
            <artifactId>jsch</artifactId>
        </dependency>
        <dependency>
            <groupId>com.yihu.hos</groupId>
            <artifactId>hos-core</artifactId>
            <version>${hos-version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-spring-boot</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-jms</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-core</artifactId>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <mainClass>com.yihu.hos.logger.HosLoggerApplication</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

+ 12 - 0
hos-logger/src/main/java/com/yihu/hos/logger/HosLoggerApplication.java

@ -0,0 +1,12 @@
package com.yihu.hos.logger;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HosLoggerApplication {
	public static void main(String[] args) {
		SpringApplication.run(HosLoggerApplication.class, args);
	}
}

+ 1 - 1
hos-agent/src/main/java/com/yihu/hos/agent/camel/aggregator/EHRLogAggregator.java

@ -1,4 +1,4 @@
package com.yihu.hos.agent.camel.aggregator;
package com.yihu.hos.logger.camel.aggregator;
import org.apache.camel.Exchange;
import org.apache.camel.processor.aggregate.AggregationStrategy;

+ 1 - 2
hos-agent/src/main/java/com/yihu/hos/agent/camel/expression/EHRLogExpression.java

@ -1,7 +1,6 @@
package com.yihu.hos.agent.camel.expression;
package com.yihu.hos.logger.camel.expression;
import ch.qos.logback.classic.spi.ILoggingEvent;
import org.apache.camel.Exchange;
/**
 * Created by l4qiang on 2017-04-14.

+ 3 - 2
hos-agent/src/main/java/com/yihu/hos/agent/camel/processor/EHRLogProcesser.java

@ -1,4 +1,4 @@
package com.yihu.hos.agent.camel.processor;
package com.yihu.hos.logger.camel.processor;
import ch.qos.logback.classic.spi.ILoggingEvent;
import com.fasterxml.jackson.core.JsonParseException;
@ -13,6 +13,7 @@ import java.util.ArrayList;
/**
 * ehr log处理
 *
 * @author Airhead
 * @since 2017/3/30.
 */
@ -21,7 +22,7 @@ public class EHRLogProcesser implements Processor {
    public void process(Exchange exchange) throws Exception {
        exchange.getOut().setBody("");
        ArrayList arrayList = exchange.getIn().getBody(ArrayList.class);
        if (arrayList.size() != 3){
        if (arrayList.size() != 3) {
            return;
        }

+ 8 - 10
hos-agent/src/main/java/com/yihu/hos/agent/camel/route/EHRLogRouterBuilder.java

@ -1,10 +1,9 @@
package com.yihu.hos.agent.camel.route;
package com.yihu.hos.logger.camel.route;
import ch.qos.logback.classic.spi.LoggingEvent;
import com.yihu.hos.agent.camel.aggregator.EHRLogAggregator;
import com.yihu.hos.agent.camel.expression.EHRLogExpression;
import com.yihu.hos.agent.camel.processor.EHRLogProcesser;
import com.yihu.hos.agent.configuration.AgentConfiguration;
import com.yihu.hos.logger.camel.aggregator.EHRLogAggregator;
import com.yihu.hos.logger.camel.expression.EHRLogExpression;
import com.yihu.hos.logger.camel.processor.EHRLogProcesser;
import com.yihu.hos.logger.configuration.LoggerConfiguration;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jms.JmsComponent;
@ -23,20 +22,19 @@ public class EHRLogRouterBuilder extends RouteBuilder {
    private static final String DESTINATION_NAME = "business-log-ehr";
    private static final String QUEUE_NAME = "business.log.queue";
    @Autowired
    private AgentConfiguration agentConfiguration;
    private LoggerConfiguration loggerConfiguration;
    @Override
    public void configure() throws Exception {
        ModelCamelContext context = this.getContext();
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
                agentConfiguration.getActiveMqUser(), agentConfiguration.getActiveMqPassword(), agentConfiguration.getBrokerURL());
        // Note we can explicit name the component
                loggerConfiguration.getActiveMqUser(), loggerConfiguration.getActiveMqPassword(), loggerConfiguration.getBrokerURL());
        context.addComponent(DESTINATION_NAME, JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
        from(DESTINATION_NAME + ":topic:" + QUEUE_NAME)
                .aggregate(method(new EHRLogExpression(), "getBreadcrumbId"), new EHRLogAggregator())
                .completionSize(3)
                .process(new EHRLogProcesser())
                .to("file://e:/log");
                .to("file://" + loggerConfiguration.getEhrLogDir());
    }
}

+ 4 - 4
hos-agent/src/main/java/com/yihu/hos/agent/camel/route/HosLogRouteBuilder.java

@ -1,6 +1,6 @@
package com.yihu.hos.agent.camel.route;
package com.yihu.hos.logger.camel.route;
import com.yihu.hos.agent.configuration.AgentConfiguration;
import com.yihu.hos.logger.configuration.LoggerConfiguration;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jms.JmsComponent;
@ -19,13 +19,13 @@ public class HosLogRouteBuilder extends RouteBuilder {
    private static final String QUEUE_NAME = "business.log.queue";
    @Autowired
    private AgentConfiguration agentConfiguration;
    private LoggerConfiguration loggerConfiguration;
    @Override
    public void configure() throws Exception {
        ModelCamelContext context = this.getContext();
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
                agentConfiguration.getActiveMqUser(), agentConfiguration.getActiveMqPassword(), agentConfiguration.getBrokerURL());
                loggerConfiguration.getActiveMqUser(), loggerConfiguration.getActiveMqPassword(), loggerConfiguration.getBrokerURL());
        // Note we can explicit name the component
        context.addComponent(DESTINATION_NAME, JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
        from(DESTINATION_NAME + ":topic:" + QUEUE_NAME)

+ 38 - 0
hos-logger/src/main/java/com/yihu/hos/logger/configuration/LoggerConfiguration.java

@ -0,0 +1,38 @@
package com.yihu.hos.logger.configuration;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
/**
 * @author Airhead
 * @since 2017/1/19.
 */
@Configuration
public class LoggerConfiguration {
    @Value("${spring.activemq.broker-url}")
    private String brokerURL;
    @Value("${spring.activemq.user}")
    private String activeMqUser;
    @Value("${spring.activemq.password}")
    private String activeMqPassword;
    @Value("${logger.ehr}")
    private String ehrLogDir;
    public String getBrokerURL() {
        return brokerURL;
    }
    public String getActiveMqUser() {
        return activeMqUser;
    }
    public String getActiveMqPassword() {
        return activeMqPassword;
    }
    public String getEhrLogDir() {
        return ehrLogDir;
    }
}

+ 1 - 1
hos-agent/src/main/java/com/yihu/hos/agent/model/HosLog.java

@ -1,4 +1,4 @@
package com.yihu.hos.agent.model;
package com.yihu.hos.logger.model;
import com.yihu.hos.core.datatype.DateUtil;
import org.springframework.data.annotation.Id;

+ 2 - 2
hos-agent/src/main/java/com/yihu/hos/agent/service/HosLogService.java

@ -1,9 +1,9 @@
package com.yihu.hos.agent.service;
package com.yihu.hos.logger.service;
import ch.qos.logback.classic.spi.ILoggingEvent;
import com.yihu.hos.agent.model.HosLog;
import com.yihu.hos.core.log.Logger;
import com.yihu.hos.core.log.LoggerFactory;
import com.yihu.hos.logger.model.HosLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.stereotype.Component;

+ 33 - 0
hos-logger/src/main/resources/application.yml

@ -0,0 +1,33 @@
spring:
  application:
    name: HosLogger
server:
  port: 0
security:
  basic:
    enabled: false
# the name of Camel
camel:
  springboot:
    name: HosLogger
---
spring:
  profiles: dev
  activemq:
      broker-url: tcp://172.19.103.57:61616
      user: admin
      password: admin
  data:
    mongodb:
      host: 172.19.103.57
      port: 27017
      username: esb
      password: esb
      authenticationDatabase: admin
      database: log
      gridFsDatabase: dfs
logger:
  ehr: e:/file

+ 16 - 0
hos-logger/src/test/java/com/yihu/hos/logger/HosLoggerApplicationTests.java

@ -0,0 +1,16 @@
package com.yihu.hos.logger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class HosLoggerApplicationTests {
	@Test
	public void contextLoads() {
	}
}