Commit b3c8aae9 authored by bbbytest's avatar bbbytest

initial commit

parent ba1a6ad1
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="lib/commons-beanutils-1.9.2.jar"/>
<classpathentry kind="lib" path="lib/commons-codec-1.9.jar"/>
<classpathentry kind="lib" path="lib/commons-collections-3.2.1.jar"/>
<classpathentry kind="lib" path="lib/commons-dbcp2-2.1.1.jar"/>
<classpathentry kind="lib" path="lib/commons-dbutils-1.6.jar"/>
<classpathentry kind="lib" path="lib/commons-lang-2.5.jar"/>
<classpathentry kind="lib" path="lib/commons-logging-1.2.jar"/>
<classpathentry kind="lib" path="lib/commons-pool2-2.4.2.jar"/>
<classpathentry kind="lib" path="lib/ezmorph-1.0.6.jar"/>
<classpathentry kind="lib" path="lib/httpclient-4.5.2.jar"/>
<classpathentry kind="lib" path="lib/httpcore-4.4.4.jar"/>
<classpathentry kind="lib" path="lib/jackson-annotations-2.8.0.jar"/>
<classpathentry kind="lib" path="lib/jackson-core-2.8.7.jar"/>
<classpathentry kind="lib" path="lib/jackson-databind-2.8.7.jar"/>
<classpathentry kind="lib" path="lib/json-lib-2.4-jdk15.jar"/>
<classpathentry kind="lib" path="lib/log4j-api-2.8.2.jar"/>
<classpathentry kind="lib" path="lib/log4j-core-2.8.2.jar"/>
<classpathentry kind="lib" path="lib/ojdbc6-11.1.0.6.0.jar"/>
<classpathentry kind="lib" path="lib/okhttp-2.5.0.jar"/>
<classpathentry kind="lib" path="lib/okio-1.6.0.jar"/>
<classpathentry kind="lib" path="lib/sqljdbc4-4.0.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
*.DS_Store
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true">
<option name="TOP_LEVEL_CLASS_OPTIONS">
<value>
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
<option name="REQUIRED_TAGS" value="" />
</value>
</option>
<option name="INNER_CLASS_OPTIONS">
<value>
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
<option name="REQUIRED_TAGS" value="" />
</value>
</option>
<option name="METHOD_OPTIONS">
<value>
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
<option name="REQUIRED_TAGS" value="@return@param@throws or @exception" />
</value>
</option>
<option name="FIELD_OPTIONS">
<value>
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
<option name="REQUIRED_TAGS" value="" />
</value>
</option>
<option name="IGNORE_DEPRECATED" value="false" />
<option name="IGNORE_JAVADOC_PERIOD" value="true" />
<option name="IGNORE_DUPLICATED_THROWS" value="false" />
<option name="IGNORE_POINT_TO_ITSELF" value="false" />
<option name="myAdditionalJavadocTags" value="date" />
</inspection_tool>
</profile>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/classes" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/javadatasync.iml" filepath="$PROJECT_DIR$/javadatasync.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>
\ No newline at end of file
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>javadatasync</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info">
<Properties>
<!-- 配置日志文件输出目录 -->
<Property name="LOG_HOME">D:/YunXueTang/log</Property>
<property name="FILE_NAME">synclog</property>
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout
pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %logger{36} - %m%n" />
</Console>
<RollingFile name="RollingFileLog" fileName="${LOG_HOME}/${FILE_NAME}.log"
filePattern="${LOG_HOME}/$${date:yyyy}/${FILE_NAME}-%d{yyyy-MM}-%i.log">
<PatternLayout
pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %logger{36} - %m%n" />
<!-- 配置日志文件按月保存 结合filePattern属性值进行时间间隔控制 -->
<TimeBasedTriggeringPolicy interval="1" />
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<!-- <AppenderRef ref="Console" /> -->
<AppenderRef ref="RollingFileLog" />
</Root>
</Loggers>
</Configuration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="EclipseModuleManager">
<libelement value="jar://$MODULE_DIR$/lib/httpclient-4.5.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/httpcore-4.4.4.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jackson-annotations-2.8.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jackson-core-2.8.7.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/jackson-databind-2.8.7.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/json-lib-2.4-jdk15.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/log4j-api-2.8.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/log4j-core-2.8.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-codec-1.9.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-beanutils-1.9.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-lang-2.5.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-logging-1.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/ezmorph-1.0.6.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-collections-3.2.1.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-dbcp2-2.1.1.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-dbutils-1.6.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/commons-pool2-2.4.2.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/sqljdbc4-4.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/ojdbc6-11.1.0.6.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/okhttp-2.5.0.jar!/" />
<libelement value="jar://$MODULE_DIR$/lib/okio-1.6.0.jar!/" />
<src_description expected_position="0">
<src_folder value="file://$MODULE_DIR$/src" expected_position="0" />
<src_folder value="file://$MODULE_DIR$/lib" expected_position="1" />
</src_description>
</component>
<component name="NewModuleRootManager">
<output url="file://$MODULE_DIR$/bin" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/lib" isTestSource="false" />
</content>
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="inheritedJdk" />
<orderEntry type="module-library">
<library name="httpclient-4.5.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/httpclient-4.5.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="httpcore-4.4.4.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/httpcore-4.4.4.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jackson-annotations-2.8.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jackson-annotations-2.8.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jackson-core-2.8.7.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jackson-core-2.8.7.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="jackson-databind-2.8.7.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/jackson-databind-2.8.7.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="json-lib-2.4-jdk15.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/json-lib-2.4-jdk15.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="log4j-api-2.8.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/log4j-api-2.8.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="log4j-core-2.8.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/log4j-core-2.8.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-codec-1.9.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-codec-1.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-beanutils-1.9.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-beanutils-1.9.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-lang-2.5.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-lang-2.5.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-logging-1.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-logging-1.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="ezmorph-1.0.6.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/ezmorph-1.0.6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-collections-3.2.1.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-collections-3.2.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-dbcp2-2.1.1.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-dbcp2-2.1.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-dbutils-1.6.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-dbutils-1.6.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="commons-pool2-2.4.2.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/commons-pool2-2.4.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="sqljdbc4-4.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/sqljdbc4-4.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="ojdbc6-11.1.0.6.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/ojdbc6-11.1.0.6.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="okhttp-2.5.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/okhttp-2.5.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="okio-1.6.0.jar">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/okio-1.6.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>
\ No newline at end of file
package datasync.client;
public interface JavaConfig {
}
This diff is collapsed.
package datasync.client;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import datasync.model.OuInfoJavaModel;
import datasync.model.PositionJavaModel;
import datasync.model.UserInfoJavaModel;
import datasync.service.AbstractSyncJavaService;
import java.util.List;
public class JavaSyncService extends AbstractSyncJavaService implements JavaConfig {
// 全量增量区分
private static final String MODE_FULL = "1";
private static final String MODE_UPDATE = "2";
private String syncServiceName;
// json解析用
private ObjectMapper mapper;
public JavaSyncService() {
super.setApikey(JavaDemoTest.apikey);
super.setSecretkey(JavaDemoTest.secretkey);
super.setBaseUrl(JavaDemoTest.baseUrl);
super.setModeFull(MODE_FULL);
super.setModeUpdate(MODE_UPDATE);
super.setIsPosIdProvided(false);
syncServiceName = this.getClass().getSimpleName();
super.setSyncServiceName(syncServiceName);
// 创建用于json反序列化的对象
mapper = new ObjectMapper();
// 忽略json中多余的属性字段
mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
}
@Override
protected List<PositionJavaModel> getPositionsFromDB() throws Exception {
return null;
}
@Override
protected List<OuInfoJavaModel> getOuInfoListFromDB() throws Exception {
return null;
}
@Override
protected List<UserInfoJavaModel> getUserInfoListFromDB() throws Exception {
return null;
}
@Override
protected boolean isOrgExpired(OuInfoJavaModel org) {
return false;
}
@Override
protected boolean isPosExpired(PositionJavaModel pos) {
return false;
}
@Override
protected boolean isUserExpired(UserInfoJavaModel user) {
return false;
}
@Override
protected void setRootOrgParentId(List<OuInfoJavaModel> newList) {
}
@Override
protected void changePropValues(List<UserInfoJavaModel> newList) {
}
@Override
protected List<OuInfoJavaModel> getOuInfoModelList(String mode) throws Exception {
return null;
}
@Override
protected List<PositionJavaModel> getPositionModelList(String mode) throws Exception {
return null;
}
@Override
protected List<UserInfoJavaModel> getUserInfoModelList(String mode) throws Exception {
return null;
}
}
package datasync.common;
import com.squareup.okhttp.*;
import java.io.IOException;
public class OKHttp2Utils {
public static final MediaType MEDIA_TYPE_JSON = MediaType.parse("application/json; charset=utf-8");
public static final String HTTP_200_STATUS = "200";
public static String sendPost(String url, String param) throws IOException {
OkHttpClient client = new OkHttpClient();
RequestBody body = RequestBody.create(MEDIA_TYPE_JSON, param);
Request request = new Request.Builder().url(url).post(body).build();
Response response = client.newCall(request).execute();
// if (response.isSuccessful()) {
// String code = String.valueOf(response.code());
// return StringUtils.isEmpty(code) ? HTTP_200_STATUS : code;
// }
return response.body().string();
}
}
package datasync.common;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class QidaSHA256 {
public static final String ALGORITHM = "SHA-256";
public static String SHA256Encrypt(String orignal) {
MessageDigest md = null;
try {
md = MessageDigest.getInstance(ALGORITHM);
} catch (NoSuchAlgorithmException e) {
// TODO
e.printStackTrace();
}
if (null != md) {
byte[] origBytes = orignal.getBytes();
md.update(origBytes);
byte[] digestRes = md.digest();
String digestStr = getDigestStr(digestRes);
return digestStr;
}
return null;
}
private static String getDigestStr(byte[] origBytes) {
String tempStr = null;
StringBuilder stb = new StringBuilder();
for (int i = 0; i < origBytes.length; i++) {
// System.out.println("and by bit: " + (origBytes[i] & 0xff));
// System.out.println("no and: " + origBytes[i]);
// System.out.println("---------------------------------------------");
// 这里按位与是为了把字节转整时候取其正确的整数,java中一个int是4个字节
// 如果origBytes[i]最高位为1,则转为int时,int的前三个字节都被1填充了
tempStr = Integer.toHexString(origBytes[i] & 0xff);
if (tempStr.length() == 1) {
stb.append("0");
}
stb.append(tempStr);
}
return stb.toString();
}
}
\ No newline at end of file
package datasync.common;
/**
* 调用接口统一返回格式
*/
public class ResultJavaEntity {
/**
* 记录总条数
*/
private int result;
/**
* 返回提示
*/
private String msg;
/**
* 成功执行后返回的数据(Json格式字符串)
*/
private String data;
public int getResult() {
return result;
}
public void setResult(int result) {
this.result = result;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
@Override
public String toString() {
return "ResultJavaEntity [result=" + result + ", msg=" + msg + ", data=" + data + "]";
}
}
package datasync.common;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import java.io.IOException;
import java.util.List;
import java.util.Random;
public class SyncDataJavaUtil {
/**
* 获取企业大学接口数据
*
* @param url
* @param params
* @return
* @throws IOException
*/
public static ResultJavaEntity getResult(String url, String params) throws IOException {
String result = null;
try {
result = OKHttp2Utils.sendPost(url, params);
} catch (IOException e) {
try {
// 发生异常重新请求一次
result = OKHttp2Utils.sendPost(url, params);
} catch (IOException e1) {
throw new IOException("获取企业大学接口数据失败!", e1);
}
}
// 统一将返回值封装为实体
JSONObject jsonObject = JSONObject.fromObject(result);
System.out.println(result);
return (ResultJavaEntity) JSONObject.toBean(jsonObject, ResultJavaEntity.class);
}
/**
* 初始化公共参数
*
* @param apikey
* @param secretkey
* @return
*/
public static JSONObject getPublicParam(String apikey, String secretkey) {
JSONObject params = new JSONObject();
params.put("apikey", apikey);
params.put("salt", new Random().nextInt(10000));
params.put("signature", QidaSHA256.SHA256Encrypt(secretkey + params.get("salt")));
return params;
}
public static ResultJavaEntity arrayOp(List<String> strings, String url, String apikey, String secretkey)
throws IOException {
JSONObject params = getPublicParam(apikey, secretkey);
JSONArray array = JSONArray.fromObject(strings);
params.put("datas", array.toString());
return SyncDataJavaUtil.getResult(url, params.toString());
}
}
package datasync.main;
import datasync.client.JavaSyncService;
public class Main {
public static void main(String[] args) {
// 同步基础数据
new JavaSyncService().execute();
}
}
package datasync.model;
public class GradeJavaModel {
/**
* 职级编号
*/
private String id;
/**
* 职级名称
*/
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
GradeJavaModel that = (GradeJavaModel) o;
return name.equals(that.name);
}
@Override
public int hashCode() {
return name.hashCode();
}
}
package datasync.model;
public class GroupMapJavaModel {
/**
* 关系数据信息(人员账号或部门编号或岗位编号)格式如:["cuim@yunxuetang.cn","user001","user002"]
*/
private String masterNo;
/**
* 关系类型(固定值 部门:Department,岗位:Position,用户:User)
*/
private String masterType;
/**
* 是否包含子部门(仅限部门类型)
*/
private int isContainSub = 0;
public String getMasterNo() {
return masterNo;
}
public void setMasterNo(String masterNo) {
this.masterNo = masterNo;
}
public String getMasterType() {
return masterType;
}
public void setMasterType(String masterType) {
this.masterType = masterType;
}
public int getIsContainSub() {
return isContainSub;
}
public void setIsContainSub(int isContainSub) {
this.isContainSub = isContainSub;
}
}
package datasync.model;
import java.util.Date;
import java.util.List;
public class OuInfoJavaModel {
/**
* 组织单位ID
*/
private String id;
/**
* 组织单位名称
*/
private String ouName;
/**
* 父节点ID
*/
private String parentId;
/**
* 描述
*/
private String description;
/**
* 组织单位下的用户名集合
*/
private List<String> users;
/**
* 是否分支机构
*/
private boolean isSub;
/**
* 排序索引
*/
private int orderIndex;
/**
* 过期日期
*/
private Date endDate;
/**
* 组织状态
*/
private String status;
/**
* 组织删除状态
*/
private String deleteStatus;
/**
* 部门主管
*/
private String managerNo;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getOuName() {
return ouName;
}
public void setOuName(String ouName) {
this.ouName = ouName;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public List<String> getUsers() {
return users;
}
public void setUsers(List<String> users) {
this.users = users;
}
public boolean isSub() {
return isSub;
}
public void setSub(boolean sub) {
isSub = sub;
}
public int getOrderIndex() {
return orderIndex;
}
public void setOrderIndex(int orderIndex) {
this.orderIndex = orderIndex;
}
public Date getEndDate() {
return endDate;
}
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getDeleteStatus() {
return deleteStatus;
}
public void setDeleteStatus(String deleteStatus) {
this.deleteStatus = deleteStatus;
}
public String getManagerNo() {
return managerNo;
}
public void setManagerNo(String managerNo) {
this.managerNo = managerNo;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.toLowerCase().hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
OuInfoJavaModel other = (OuInfoJavaModel) obj;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equalsIgnoreCase(other.id))
return false;
return true;
}
}
package datasync.model;
public class PositionJavaModel {
/**
* 岗位编号
*/
private String pNo;
/**
* 一级类别;二级类别;岗位 (最后是岗位)
*/
private String pNames;
/**
* 岗位类别
*/
private String pNameClass;
/**
* 岗位状态
*/
private String status;
/**
* 岗位删除状态
*/
private String deleteStatus;
/**
* 岗位职级名称
*/
private String positionGradeName;
public String getpNo() {
return pNo;
}
public void setpNo(String pNo) {
this.pNo = pNo;
}
public String getpNames() {
return pNames;
}
public void setpNames(String pNames) {
this.pNames = pNames;
}
public String getpNameClass() {
return pNameClass;
}
public void setpNameClass(String pNameClass) {
this.pNameClass = pNameClass;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getDeleteStatus() {
return deleteStatus;
}
public void setDeleteStatus(String deleteStatus) {
this.deleteStatus = deleteStatus;
}
public String getPositionGradeName() {
return positionGradeName;
}
public void setPositionGradeName(String positionGradeName) {
this.positionGradeName = positionGradeName;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((pNo == null) ? 0 : pNo.toLowerCase().hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
PositionJavaModel other = (PositionJavaModel) obj;
if (pNo == null) {
if (other.pNo != null)
return false;
} else if (!pNo.equalsIgnoreCase(other.pNo))
return false;
return true;
}
}
package datasync.model;
public class UserInfoJavaModel {
/**
* 用户ID(同步必传)
*/
private String id;
/**
* 用户名(同步必传)
*/
private String userName;
/**
* 中文姓名(同步必传)
*/
private String cnName;
/**
* 工号
*/
private String userNo;
/**
* 密码备注:如果用MD5或者CMD5加密则必须使用标准MD5 32位小写加密的字符串(如果不传使用平台配置的默认密码)
*/
private String password;
/**
* 密码加密方式: YXT(云学堂加密默认)、MD5 (密码MD5加密)、CMD5(用户名+密码MD5加密)
*/
private String encryptionType;
/**
* 性别
*/
private String sex;
/**
* 移动电话
*/
private String mobile;
/**
* 电子邮件
*/
private String mail;
/**
* 部门编号
*/
private String orgOuCode;
/**
* 部门名称
*/
private String orgOuName;
/**
* 岗位编号
*/
private String postionNo;
/**
* 岗位名
*/
private String postionName;
/**
* 入职日期
*/
private String entrytime;
/**
* 出生日期
*/
private String birthday;
/**
* 过期日期
*/
private String expiredDate;
/**
* 用户状态
*/
private String status;
/**
* 用户删除状态
*/
private String deleteStatus;
/**
* 是否是部门主管
*/
private int isManager = 0;
/**
* 直属经理
*/
private String managerNo;
/**
* 职级
*/
private String gradeName;
/**
* 是否置空邮箱、手机号
*/
private int isUpdateNull = 0;
/**
* 是否需要绑定手机(0:不需要,1:需要) 默认设置为自动绑定手机号 如果不需要绑定可单独将该字段设置为0
*/
private int isMobileValidated = 1;
/**
* 是否需要绑定邮箱(0:不需要,1:需要) 默认设置为自动绑定邮箱 如果不需要绑定可单独将该字段设置为0
*/
private int isEmailValidated = 1;
/**
* 扩展字段 1~10
*/
private String spare1;
private String spare2;
private String spare3;
private String spare4;
private String spare5;
private String spare6;
private String spare7;
private String spare8;
private String spare9;
private String spare10;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getCnName() {
return cnName;
}
public void setCnName(String cnName) {
this.cnName = cnName;
}
public String getUserNo() {
return userNo;
}
public void setUserNo(String userNo) {
this.userNo = userNo;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEncryptionType() {
return encryptionType;
}
public void setEncryptionType(String encryptionType) {
this.encryptionType = encryptionType;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getMail() {
return mail;
}
public void setMail(String mail) {
this.mail = mail;
}
public String getOrgOuCode() {
return orgOuCode;
}
public void setOrgOuCode(String orgOuCode) {
this.orgOuCode = orgOuCode;
}
public String getOrgOuName() {
return orgOuName;
}
public void setOrgOuName(String orgOuName) {
this.orgOuName = orgOuName;
}
public String getPostionNo() {
return postionNo;
}
public void setPostionNo(String postionNo) {
this.postionNo = postionNo;
}
public String getPostionName() {
return postionName;
}
public void setPostionName(String postionName) {
this.postionName = postionName;
}
public String getEntrytime() {
return entrytime;
}
public void setEntrytime(String entrytime) {
this.entrytime = entrytime;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getExpiredDate() {
return expiredDate;
}
public void setExpiredDate(String expiredDate) {
this.expiredDate = expiredDate;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getDeleteStatus() {
return deleteStatus;
}
public void setDeleteStatus(String deleteStatus) {
this.deleteStatus = deleteStatus;
}
public int getIsManager() {
return isManager;
}
public void setIsManager(int isManager) {
this.isManager = isManager;
}
public String getManagerNo() {
return managerNo;
}
public void setManagerNo(String managerNo) {
this.managerNo = managerNo;
}
public String getGradeName() {
return gradeName;
}
public void setGradeName(String gradeName) {
this.gradeName = gradeName;
}
public int getIsUpdateNull() {
return isUpdateNull;
}
public void setIsUpdateNull(int isUpdateNull) {
this.isUpdateNull = isUpdateNull;
}
public int getIsMobileValidated() {
return isMobileValidated;
}
public void setIsMobileValidated(int isMobileValidated) {
this.isMobileValidated = isMobileValidated;
}
public int getIsEmailValidated() {
return isEmailValidated;
}
public void setIsEmailValidated(int isEmailValidated) {
this.isEmailValidated = isEmailValidated;
}
public String getSpare1() {
return spare1;
}
public void setSpare1(String spare1) {
this.spare1 = spare1;
}
public String getSpare2() {
return spare2;
}
public void setSpare2(String spare2) {
this.spare2 = spare2;
}
public String getSpare3() {
return spare3;
}
public void setSpare3(String spare3) {
this.spare3 = spare3;
}
public String getSpare4() {
return spare4;
}
public void setSpare4(String spare4) {
this.spare4 = spare4;
}
public String getSpare5() {
return spare5;
}
public void setSpare5(String spare5) {
this.spare5 = spare5;
}
public String getSpare6() {
return spare6;
}
public void setSpare6(String spare6) {
this.spare6 = spare6;
}
public String getSpare7() {
return spare7;
}
public void setSpare7(String spare7) {
this.spare7 = spare7;
}
public String getSpare8() {
return spare8;
}
public void setSpare8(String spare8) {
this.spare8 = spare8;
}
public String getSpare9() {
return spare9;
}
public void setSpare9(String spare9) {
this.spare9 = spare9;
}
public String getSpare10() {
return spare10;
}
public void setSpare10(String spare10) {
this.spare10 = spare10;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
UserInfoJavaModel other = (UserInfoJavaModel) obj;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
return true;
}
}
This diff is collapsed.
package datasync.service;
import datasync.common.ResultJavaEntity;
import datasync.common.SyncDataJavaUtil;
import datasync.model.OuInfoJavaModel;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import java.io.IOException;
import java.util.List;
public class SyncOrgJavaService {
/**
* 同步组织单位
*
* @param isBaseInfo
* @param ouInfos
* @param apikey
* @param secretkey
* @param baseUrl
* @return
* @throws IOException
*/
public ResultJavaEntity ous(int isBaseInfo, List<OuInfoJavaModel> ouInfos, String apikey, String secretkey, String baseUrl) throws IOException {
JSONArray array = JSONArray.fromObject(ouInfos);
JSONObject params = SyncDataJavaUtil.getPublicParam(apikey, secretkey);
params.put("isbaseinfo", isBaseInfo);
params.put("datas", array);
String url = baseUrl + "udp/sy/ous";
return SyncDataJavaUtil.getResult(url, params.toString());
}
/**
* 同步删除组织单位
*
* @param ouCodes 部门编号列表 JSON格式例如 ["java01", "java02"]
* @param apikey
* @param secretkey
* @param baseUrl
* @return
* @throws IOException
*/
public ResultJavaEntity deleteous(List<String> ouCodes, String apikey, String secretkey, String baseUrl) throws IOException {
String url = baseUrl + "udp/sy/deleteous";
return SyncDataJavaUtil.arrayOp(ouCodes, url, apikey, secretkey);
}
/**
* 将用户从组织单位中移除
*
* @param userNames 用户名列表JSON格式例如:[“sum11”, “sum10”];
* @param apikey
* @param secretkey
* @param baseUrl
* @return
* @throws IOException
*/
public ResultJavaEntity removeusersfromou(List<String> userNames, String apikey, String secretkey, String baseUrl) throws IOException {
String url = baseUrl + "udp/sy/removeusersfromou";
return SyncDataJavaUtil.arrayOp(userNames, url, apikey, secretkey);
}
/**
* 将一批用户移动至新部门
*
* @param userNames 用户名列表JSON格式例如:[“sum11”, “sum10”]
* @param newOuID 部门编号
* @param apikey
* @param secretkey
* @param baseUrl
* @return
* @throws IOException
*/
public ResultJavaEntity batchchangeorgou(List<String> userNames, String newOuID, String apikey, String secretkey, String baseUrl) throws IOException {
JSONObject params = SyncDataJavaUtil.getPublicParam(apikey, secretkey);
JSONArray array = JSONArray.fromObject(userNames);
params.put("datas", array.toString());
params.put("extendKey", newOuID);
String url = baseUrl + "udp/sy/batchchangeorgou";
return SyncDataJavaUtil.getResult(url, params.toString());
}
/**
* 同步设置部门主管
*
* @param userName
* @param ouCode
* @param isCancelManager 是否取消部门主管
* @param apikey
* @param secretkey
* @param baseUrl
* @return
* @throws IOException
*/
public ResultJavaEntity setmanager(String userName, String ouCode, int isCancelManager, String apikey, String secretkey, String baseUrl) throws IOException {
JSONObject params = SyncDataJavaUtil.getPublicParam(apikey, secretkey);
params.put("extendKey", userName);
params.put("masterKey", ouCode);
params.put("isCancelManager", isCancelManager);
String url = baseUrl + "udp/sy/setmanager";
return SyncDataJavaUtil.getResult(url, params.toString());
}
}
package datasync.service;
import datasync.common.ResultJavaEntity;
import datasync.common.SyncDataJavaUtil;
import datasync.model.GradeJavaModel;
import datasync.model.PositionJavaModel;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import java.io.IOException;
import java.util.List;
public class SyncPositionJavaService {
/**
* 同步岗位
*
* @param positions
* @param apikey
* @param secretkey
* @param baseUrl
* @return
* @throws IOException
*/
public ResultJavaEntity position(List<PositionJavaModel> positions, String apikey, String secretkey, String baseUrl) throws IOException {
JSONArray array = JSONArray.fromObject(positions);
JSONObject params = SyncDataJavaUtil.getPublicParam(apikey, secretkey);
params.put("datas", array);
String url = baseUrl + "udp/sy/position";
return SyncDataJavaUtil.getResult(url, params.toString());
}
/**
* 同步职级
*
* @param grades
* @param apikey
* @param secretkey
* @param baseUrl
* @return
* @throws IOException
*/
public ResultJavaEntity updategrade(List<GradeJavaModel> grades, String apikey, String secretkey, String baseUrl) throws IOException {
JSONArray array = JSONArray.fromObject(grades);
JSONObject params = SyncDataJavaUtil.getPublicParam(apikey, secretkey);
params.put("datas", array);
String url = baseUrl + "udp/sy/updgrade";
return SyncDataJavaUtil.getResult(url, params.toString());
}
/**
* 同步更改岗位名称
*
* @param positionNo 岗位编号
* @param positionName 岗位名称(修改后)
* @param apikey
* @param secretkey
* @param baseUrl
* @return
* @throws IOException
*/
public ResultJavaEntity updatePositionInfo(String positionNo, String positionName, String apikey, String secretkey, String baseUrl) throws IOException {
JSONObject params = SyncDataJavaUtil.getPublicParam(apikey, secretkey);
params.put("positionNo", positionNo);
params.put("positionName", positionName);
String url = baseUrl + "udp/sy/updatepositioninfo";
return SyncDataJavaUtil.getResult(url, params.toString());
}
/**
* 查询岗位编号
*
* @param positionName 2级岗位类别;岗位名称1
* @param apikey
* @param secretkey
* @param baseUrl
* @return
* @throws IOException
*/
public ResultJavaEntity getPnoByPname(String positionName, String apikey, String secretkey, String baseUrl) throws IOException {
JSONObject params = SyncDataJavaUtil.getPublicParam(apikey, secretkey);
params.put("extendKey", positionName);
String url = baseUrl + "udp/sy/getpnobypname";
return SyncDataJavaUtil.getResult(url, params.toString());
}
}
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info">
<Properties>
<!-- 配置日志文件输出目录 -->
<Property name="LOG_HOME">D:/YunXueTang/log</Property>
<property name="FILE_NAME">synclog</property>
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout
pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %logger{36} - %m%n" />
</Console>
<RollingFile name="RollingFileLog" fileName="${LOG_HOME}/${FILE_NAME}.log"
filePattern="${LOG_HOME}/$${date:yyyy}/${FILE_NAME}-%d{yyyy-MM}-%i.log">
<PatternLayout
pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %logger{36} - %m%n" />
<!-- 配置日志文件按月保存 结合filePattern属性值进行时间间隔控制 -->
<TimeBasedTriggeringPolicy interval="1" />
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<!-- <AppenderRef ref="Console" /> -->
<AppenderRef ref="RollingFileLog" />
</Root>
</Loggers>
</Configuration>
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment