Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
oltinspection
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
胡懿
oltinspection
Commits
44634a1f
Commit
44634a1f
authored
Mar 11, 2019
by
huyi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加ssh连接
parent
7d5a6dfc
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
414 additions
and
17 deletions
+414
-17
ClearMemory.exe
ClearMemory.exe
+0
-0
新建文本文档.txt
errorFile/新建文本文档.txt
+1
-3
sshConnection.properties
oltConfig/sshConnection.properties
+3
-0
pom.xml
pom.xml
+5
-0
OltException.java
...n/java/com/fhkj/oltinspection/exception/OltException.java
+29
-0
SshConnection.java
src/main/java/com/fhkj/oltinspection/pojo/SshConnection.java
+78
-0
FtpServiceImpl.java
...a/com/fhkj/oltinspection/service/impl/FtpServiceImpl.java
+2
-1
ClearUtil.java
src/main/java/com/fhkj/oltinspection/util/ClearUtil.java
+12
-0
FTPUtil.java
src/main/java/com/fhkj/oltinspection/util/FTPUtil.java
+41
-13
ReadProperties.java
...main/java/com/fhkj/oltinspection/util/ReadProperties.java
+31
-0
SSHUtil.java
src/main/java/com/fhkj/oltinspection/util/SSHUtil.java
+212
-0
No files found.
ClearMemory.exe
0 → 100644
View file @
44634a1f
File added
errorFile/新建文本文档.txt
deleted
100644 → 0
View file @
7d5a6dfc
java.net.SocketException: Connection reset\r\n\tat java.net.SocketInputStream.read(SocketInputStream.java:209)\r\n\tat java.net.SocketInputStream.read(SocketInputStream.java:141)\r\n\tat sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)\r\n\tat sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)\r\n\tat sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)\r\n\tat java.io.InputStreamReader.read(InputStreamReader.java:184)\r\n\tat java.io.BufferedReader.fill(BufferedReader.java:161)\r\n\tat java.io.BufferedReader.read(BufferedReader.java:182)\r\n\tat org.apache.commons.net.io.CRLFLineReader.readLine(CRLFLineReader.java:58)\r\n\tat org.apache.commons.net.ftp.FTP.__getReply(FTP.java:321)\r\n\tat org.apache.commons.net.ftp.FTP.__getReply(FTP.java:300)\r\n\tat org.apache.commons.net.ftp.FTP._connectAction_(FTP.java:438)\r\n\tat org.apache.commons.net.ftp.FTPClient._connectAction_(FTPClient.java:962)\r\n\tat org.apache.commons.net.ftp.FTPClient._connectAction_(FTPClient.java:950)\r\n\tat org.apache.commons.net.SocketClient._connect(SocketClient.java:244)\r\n\tat org.apache.commons.net.SocketClient.connect(SocketClient.java:202)\r\n\tat com.fhkj.oltinspection.util.FTPUtil.loginFtp(FTPUtil.java:44)\r\n\tat com.fhkj.oltinspection.service.impl.FtpServiceImpl.loginFtp(FtpServiceImpl.java:33)\r\n\tat com.fhkj.oltinspection.service.impl.FtpServiceImpl$$FastClassBySpringCGLIB$$84aacc25.invoke(<generated>)\r\n\tat org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n\tat org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294)\r\n\tat org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n\tat org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)\r\n\tat com.fhkj.oltinspection.service.impl.FtpServiceImpl$$EnhancerBySpringCGLIB$$49ccb52.loginFtp(<generated>)\r\n\tat com.fhkj.oltinspection.controller.FtpController.loginFTP(FtpController.java:30)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)\r\n\tat org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)\r\n\tat org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)\r\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)\r\n\tat org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:634)\r\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:741)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat com.fhkj.oltinspection.config.SimpleCORSFilter.doFilter(SimpleCORSFilter.java:34)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)\r\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)\r\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)\r\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)\r\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)\r\n\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)\r\n\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)\r\n\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)\r\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)\r\n\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\r\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n\tat java.lang.Thread.run(Thread.java:745)\r\n"
++ /dev/null
java.net.SocketException: Connection reset\r\n\tat java.net.SocketInputStream.read(SocketInputStream.java:209)\r\n\tat java.net.SocketInputStream.read(SocketInputStream.java:141)\r\n\tat sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)\r\n\tat sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)\r\n\tat sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)\r\n\tat java.io.InputStreamReader.read(InputStreamReader.java:184)\r\n\tat java.io.BufferedReader.fill(BufferedReader.java:161)\r\n\tat java.io.BufferedReader.read(BufferedReader.java:182)\r\n\tat org.apache.commons.net.io.CRLFLineReader.readLine(CRLFLineReader.java:58)\r\n\tat org.apache.commons.net.ftp.FTP.__getReply(FTP.java:321)\r\n\tat org.apache.commons.net.ftp.FTP.__getReply(FTP.java:300)\r\n\tat org.apache.commons.net.ftp.FTP._connectAction_(FTP.java:438)\r\n\tat org.apache.commons.net.ftp.FTPClient._connectAction_(FTPClient.java:962)\r\n\tat org.apache.commons.net.ftp.FTPClient._connectAction_(FTPClient.java:950)\r\n\tat org.apache.commons.net.SocketClient._connect(SocketClient.java:244)\r\n\tat org.apache.commons.net.SocketClient.connect(SocketClient.java:202)\r\n\tat com.fhkj.oltinspection.util.FTPUtil.loginFtp(FTPUtil.java:44)\r\n\tat com.fhkj.oltinspection.service.impl.FtpServiceImpl.loginFtp(FtpServiceImpl.java:33)\r\n\tat com.fhkj.oltinspection.service.impl.FtpServiceImpl$$FastClassBySpringCGLIB$$84aacc25.invoke(<generated>)\r\n\tat org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\r\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n\tat org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294)\r\n\tat org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\r\n\tat org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)\r\n\tat com.fhkj.oltinspection.service.impl.FtpServiceImpl$$EnhancerBySpringCGLIB$$49ccb52.loginFtp(<generated>)\r\n\tat com.fhkj.oltinspection.controller.FtpController.loginFTP(FtpController.java:30)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)\r\n\tat org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\r\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)\r\n\tat org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)\r\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)\r\n\tat org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:634)\r\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:741)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat com.fhkj.oltinspection.config.SimpleCORSFilter.doFilter(SimpleCORSFilter.java:34)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\r\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)\r\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)\r\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)\r\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)\r\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)\r\n\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)\r\n\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)\r\n\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)\r\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)\r\n\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\r\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n\tat java.lang.Thread.run(Thread.java:745)\r\n"
\ No newline at end of file
oltConfig/sshConnection.properties
0 → 100644
View file @
44634a1f
connectionTimeout
=
60000
returnTimeout
=
1000L
\ No newline at end of file
pom.xml
View file @
44634a1f
...
@@ -69,6 +69,11 @@
...
@@ -69,6 +69,11 @@
<artifactId>
commons-net
</artifactId>
<artifactId>
commons-net
</artifactId>
<version>
3.6
</version>
<version>
3.6
</version>
</dependency>
</dependency>
<dependency>
<groupId>
com.jcraft
</groupId>
<artifactId>
jsch
</artifactId>
<version>
0.1.51
</version>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
...
src/main/java/com/fhkj/oltinspection/exception/OltException.java
0 → 100644
View file @
44634a1f
package
com
.
fhkj
.
oltinspection
.
exception
;
public
class
OltException
extends
RuntimeException
{
public
OltException
()
{
super
();
// TODO Auto-generated constructor stub
}
public
OltException
(
String
message
,
Throwable
cause
,
boolean
enableSuppression
,
boolean
writableStackTrace
)
{
super
(
message
,
cause
,
enableSuppression
,
writableStackTrace
);
// TODO Auto-generated constructor stub
}
public
OltException
(
String
message
,
Throwable
cause
)
{
super
(
message
,
cause
);
// TODO Auto-generated constructor stub
}
public
OltException
(
String
message
)
{
super
(
message
);
// TODO Auto-generated constructor stub
}
public
OltException
(
Throwable
cause
)
{
super
(
cause
);
// TODO Auto-generated constructor stub
}
}
\ No newline at end of file
src/main/java/com/fhkj/oltinspection/pojo/SshConnection.java
0 → 100644
View file @
44634a1f
package
com
.
fhkj
.
oltinspection
.
pojo
;
public
class
SshConnection
{
private
String
host
;
private
Integer
port
;
private
String
username
;
private
String
password
;
public
SshConnection
()
{
super
();
}
public
SshConnection
(
String
host
,
Integer
port
,
String
username
,
String
password
)
{
super
();
this
.
host
=
host
;
this
.
port
=
port
;
this
.
username
=
username
;
this
.
password
=
password
;
}
/**
* @return the host
*/
public
String
getHost
()
{
return
host
;
}
/**
* @param host the host to set
*/
public
void
setHost
(
String
host
)
{
this
.
host
=
host
;
}
/**
* @return the port
*/
public
Integer
getPort
()
{
return
port
;
}
/**
* @param port the port to set
*/
public
void
setPort
(
Integer
port
)
{
this
.
port
=
port
;
}
/**
* @return the username
*/
public
String
getUsername
()
{
return
username
;
}
/**
* @param username the username to set
*/
public
void
setUsername
(
String
username
)
{
this
.
username
=
username
;
}
/**
* @return the password
*/
public
String
getPassword
()
{
return
password
;
}
/**
* @param password the password to set
*/
public
void
setPassword
(
String
password
)
{
this
.
password
=
password
;
}
@Override
public
String
toString
()
{
return
"host:"
+
this
.
host
+
", port:"
+
this
.
port
+
", username:"
+
this
.
username
+
", password:"
+
this
.
password
;
}
}
\ No newline at end of file
src/main/java/com/fhkj/oltinspection/service/impl/FtpServiceImpl.java
View file @
44634a1f
...
@@ -30,7 +30,8 @@ public class FtpServiceImpl implements FtpService {
...
@@ -30,7 +30,8 @@ public class FtpServiceImpl implements FtpService {
public
Result
loginFtp
(
Integer
id
)
{
public
Result
loginFtp
(
Integer
id
)
{
Optional
<
FtpConfigEntity
>
ftpConfigEntityOptional
=
ftpConfigRepository
.
findById
(
id
);
Optional
<
FtpConfigEntity
>
ftpConfigEntityOptional
=
ftpConfigRepository
.
findById
(
id
);
if
(
ftpConfigEntityOptional
.
isPresent
())
{
if
(
ftpConfigEntityOptional
.
isPresent
())
{
return
FTPUtil
.
loginFtp
(
ftpConfigEntityOptional
.
get
());
FTPUtil
ftpUtil
=
new
FTPUtil
();
return
ftpUtil
.
loginFtp
(
ftpConfigEntityOptional
.
get
());
}
else
{
}
else
{
return
new
Result
(
"未能查询到frp登录所需的信息"
,
false
);
return
new
Result
(
"未能查询到frp登录所需的信息"
,
false
);
}
}
...
...
src/main/java/com/fhkj/oltinspection/util/ClearUtil.java
0 → 100644
View file @
44634a1f
package
com
.
fhkj
.
oltinspection
.
util
;
public
class
ClearUtil
{
public
static
void
openExe
()
{
Runtime
rn
=
Runtime
.
getRuntime
();
try
{
rn
.
exec
(
"ClearMemory.exe"
);
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
"Error exec!"
);
}
}
}
src/main/java/com/fhkj/oltinspection/util/FTPUtil.java
View file @
44634a1f
...
@@ -2,6 +2,8 @@ package com.fhkj.oltinspection.util;
...
@@ -2,6 +2,8 @@ package com.fhkj.oltinspection.util;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
com.fhkj.oltinspection.entity.FtpConfigEntity
;
import
com.fhkj.oltinspection.entity.FtpConfigEntity
;
import
com.fhkj.oltinspection.pojo.Result
;
import
com.fhkj.oltinspection.pojo.Result
;
...
@@ -14,31 +16,57 @@ import org.apache.commons.net.ftp.FTPClient;
...
@@ -14,31 +16,57 @@ import org.apache.commons.net.ftp.FTPClient;
*/
*/
public
class
FTPUtil
{
public
class
FTPUtil
{
/**
/**
* @param ftpConfigEntity
* @return Result
* @see 验证ftp参数是否合法
*/
private
Result
validateFtpParameter
(
FtpConfigEntity
ftpConfigEntity
)
{
if
(
null
==
ftpConfigEntity
.
getHost
()
||
""
.
equals
(
ftpConfigEntity
.
getHost
().
trim
()))
{
return
new
Result
(
"IP为空"
,
false
);
}
else
if
(!
validateHost
(
ftpConfigEntity
.
getHost
()))
{
return
new
Result
(
"IP地址不合法"
,
false
);
}
if
(
null
==
ftpConfigEntity
.
getPort
()
||
"0"
.
equals
(
ftpConfigEntity
.
getPort
().
toString
()))
{
return
new
Result
(
"port为空"
,
false
);
}
if
(
null
==
ftpConfigEntity
.
getUsername
()
||
""
.
equals
(
ftpConfigEntity
.
getUsername
().
trim
()))
{
return
new
Result
(
"username为空"
,
false
);
}
if
(
null
==
ftpConfigEntity
.
getPassword
()
||
""
.
equals
(
ftpConfigEntity
.
getPassword
().
trim
()))
{
return
new
Result
(
"password为空"
,
false
);
}
return
new
Result
(
"验证成功"
,
true
);
}
/**
* @param ip
* @return boolean
* @see 正则验证ip地址是否合法
*/
private
boolean
validateHost
(
String
ip
)
{
String
pattern
=
"(2(5[0-5]{1}|[0-4]\\d{1})|[0-1]?\\d{1,2})(\\.(2(5[0-5]{1}|[0-4]\\d{1})|[0-1]?\\d{1,2})){3}"
;
Pattern
r
=
Pattern
.
compile
(
pattern
);
Matcher
m
=
r
.
matcher
(
ip
);
return
m
.
matches
();
}
/**
* @see 用来来登录ftp
* @see 用来来登录ftp
* @param com.fhkj.oltinspection.entity.FtpConfigEntity
* @param com.fhkj.oltinspection.entity.FtpConfigEntity
* @exception IOException
* @exception IOException
* @return Result
* @return Result
*/
*/
public
static
Result
loginFtp
(
FtpConfigEntity
ftpConfigEntity
)
{
public
Result
loginFtp
(
FtpConfigEntity
ftpConfigEntity
)
{
if
(
ftpConfigEntity
==
null
)
{
if
(
ftpConfigEntity
==
null
)
{
return
new
Result
(
"在数据库中未能获取到ftp的连接配置信息"
,
false
);
return
new
Result
(
"在数据库中未能获取到ftp的连接配置信息"
,
false
);
}
else
{
Result
result
=
validateFtpParameter
(
ftpConfigEntity
);
if
(!(
boolean
)
result
.
getData
())
{
return
result
;
}
}
}
String
host
=
ftpConfigEntity
.
getHost
();
String
host
=
ftpConfigEntity
.
getHost
();
Integer
port
=
ftpConfigEntity
.
getPort
();
Integer
port
=
ftpConfigEntity
.
getPort
();
String
username
=
ftpConfigEntity
.
getUsername
();
String
username
=
ftpConfigEntity
.
getUsername
();
String
password
=
ftpConfigEntity
.
getPassword
();
String
password
=
ftpConfigEntity
.
getPassword
();
if
(
null
==
host
||
""
.
equals
(
host
.
trim
()))
{
return
new
Result
(
"IP为空"
,
false
);
}
if
(
null
==
port
||
"0"
.
equals
(
port
))
{
return
new
Result
(
"port为空"
,
false
);
}
if
(
null
==
username
||
""
.
equals
(
username
.
trim
()))
{
return
new
Result
(
"username为空"
,
false
);
}
if
(
null
==
password
||
""
.
equals
(
password
.
trim
()))
{
return
new
Result
(
"password为空"
,
false
);
}
FTPClient
ftpClient
=
new
FTPClient
();
// 创建ftp连接对象
FTPClient
ftpClient
=
new
FTPClient
();
// 创建ftp连接对象
try
{
try
{
ftpClient
.
connect
(
host
,
port
);
// 设置ip和端口
ftpClient
.
connect
(
host
,
port
);
// 设置ip和端口
...
...
src/main/java/com/fhkj/oltinspection/util/ReadProperties.java
0 → 100644
View file @
44634a1f
package
com
.
fhkj
.
oltinspection
.
util
;
import
java.io.BufferedReader
;
import
java.io.File
;
import
java.io.FileReader
;
import
java.io.IOException
;
import
java.util.Map
;
import
java.util.Properties
;
import
org.springframework.util.ResourceUtils
;
public
class
ReadProperties
{
public
static
Map
<
String
,
Object
>
sshConfigMap
=
null
;
static
{
try
{
File
file
=
ResourceUtils
.
getFile
(
"ptnConfig/performancetime.properties"
);
Properties
properties
=
new
Properties
();
BufferedReader
bufferedReader
;
bufferedReader
=
new
BufferedReader
(
new
FileReader
(
file
));
properties
.
load
(
bufferedReader
);
int
connectionTimeout
=
Integer
.
parseInt
(
properties
.
getProperty
(
"connectionTimeout"
));
long
returnTimeout
=
Long
.
parseLong
(
properties
.
getProperty
(
"returnTimeout"
));
sshConfigMap
.
put
(
"connectionTimeout"
,
connectionTimeout
);
sshConfigMap
.
put
(
"returnTimeout"
,
returnTimeout
);
}
catch
(
IOException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
}
}
\ No newline at end of file
src/main/java/com/fhkj/oltinspection/util/SSHUtil.java
0 → 100644
View file @
44634a1f
package
com
.
fhkj
.
oltinspection
.
util
;
import
java.io.DataOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.util.Map
;
import
java.util.Properties
;
import
java.util.concurrent.TimeoutException
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
com.fhkj.oltinspection.exception.OltException
;
import
com.fhkj.oltinspection.pojo.Result
;
import
com.fhkj.oltinspection.pojo.SshConnection
;
import
com.jcraft.jsch.Channel
;
import
com.jcraft.jsch.ChannelShell
;
import
com.jcraft.jsch.JSch
;
import
com.jcraft.jsch.JSchException
;
import
com.jcraft.jsch.Session
;
/**
* @author 胡懿
* @see 这个类提供shhz相关操作,这个类不提供空的构造方法,只有传入基本的连接参数才能初始化完成
*/
public
class
SSHUtil
{
private
SshConnection
sshConnection
;
private
Channel
channel
=
null
;
private
InputStream
ins
=
null
;
private
DataOutputStream
dos
=
null
;
private
Map
<
String
,
Object
>
sshConfigMap
=
(
Map
<
String
,
Object
>)
ReadProperties
.
sshConfigMap
;
public
SSHUtil
(
SshConnection
sshConnection
)
{
super
();
Result
result
=
validateSshConnectionParameter
(
sshConnection
);
if
(!(
boolean
)
result
.
getData
())
{
throw
new
OltException
(
result
.
getMsg
());
}
this
.
sshConnection
=
sshConnection
;
}
/**
* @return the sshConnection
*/
public
SshConnection
getSshConnection
()
{
return
sshConnection
;
}
/**
* @param sshConnection the sshConnection to set
*/
public
void
setSshConnection
(
SshConnection
sshConnection
)
{
this
.
sshConnection
=
sshConnection
;
}
/**
* @param sshConnection
* @return Result
* @see 该方法用于判断连接参数是否合法
*/
private
Result
validateSshConnectionParameter
(
SshConnection
sshConnection
)
{
if
(
null
==
sshConnection
.
getHost
()
||
""
.
equals
(
sshConnection
.
getHost
()))
{
return
new
Result
(
"IP地址为空"
,
false
);
}
else
if
(!
validateHost
(
sshConnection
.
getHost
()))
{
return
new
Result
(
"ip地址不合法"
,
false
);
}
if
(
null
==
sshConnection
.
getPort
()
||
"0"
.
equals
(
sshConnection
.
getPort
().
toString
()))
{
return
new
Result
(
"端口号为空"
,
false
);
}
if
(
null
==
sshConnection
.
getUsername
()
||
""
.
equals
(
sshConnection
.
getUsername
()))
{
return
new
Result
(
"用户名为空"
,
false
);
}
if
(
null
==
sshConnection
.
getPassword
()
||
""
.
equals
(
sshConnection
.
getPassword
()))
{
return
new
Result
(
"密码为空"
,
false
);
}
return
new
Result
(
"验证成功"
,
true
);
}
/**
* @param ip
* @return boolean
* @see 正则验证ip地址是否合法
*/
private
boolean
validateHost
(
String
ip
)
{
String
pattern
=
"(2(5[0-5]{1}|[0-4]\\d{1})|[0-1]?\\d{1,2})(\\.(2(5[0-5]{1}|[0-4]\\d{1})|[0-1]?\\d{1,2})){3}"
;
Pattern
r
=
Pattern
.
compile
(
pattern
);
Matcher
m
=
r
.
matcher
(
ip
);
return
m
.
matches
();
}
/**
* @return Result
* @see 打开连接的方法,该方法调用时,需要先通过构造方法设置连接参数SshConnection
*/
public
Result
initConnection
()
{
String
host
=
this
.
sshConnection
.
getHost
();
Integer
port
=
this
.
sshConnection
.
getPort
();
String
username
=
this
.
sshConnection
.
getUsername
();
String
password
=
this
.
sshConnection
.
getPassword
();
Session
session
=
null
;
// 打开连接
JSch
jsch
=
new
JSch
();
Properties
config
=
new
Properties
();
try
{
session
=
jsch
.
getSession
(
username
,
host
,
port
);
session
.
setPassword
(
password
);
config
.
put
(
"StrictHostKeyChecking"
,
"no"
);
session
.
setConfig
(
config
);
session
.
setTimeout
((
int
)
sshConfigMap
.
get
(
"connectionTimeout"
));
session
.
connect
();
channel
=
session
.
openChannel
(
"shell"
);
((
ChannelShell
)
channel
).
setPtyType
(
"vt100"
,
80
,
100
,
640
,
960
);
channel
.
connect
();
}
catch
(
JSchException
e
)
{
return
new
Result
(
"连接异常"
,
PackageExceptionUtil
.
exceptionToString
(
e
));
}
return
new
Result
(
"连接成功"
,
true
);
}
/**
* @see 初始化对设备的输入输出流
*/
public
Result
initInputAndOutput
()
{
if
(
null
==
channel
)
{
throw
new
OltException
(
"channel为空,请先初始化连接"
);
}
try
{
this
.
ins
=
channel
.
getInputStream
();
this
.
dos
=
new
DataOutputStream
(
channel
.
getOutputStream
());
}
catch
(
IOException
e
)
{
return
new
Result
(
"开启成功"
,
PackageExceptionUtil
.
exceptionToString
(
e
));
}
return
new
Result
(
"开启成功"
,
true
);
}
/**
* @param command(命令),isRead(是否读取设备对该命令的返回)
* @return Result
* @see 用这个方法向设备输入命令,参数command是输入的命令,不需要加\r\n,已经加上了,
* isRead代表是否读取设备的返回,true的时候会返回
*/
public
Result
sendCommand
(
String
command
,
boolean
isRead
)
{
if
(
null
==
this
.
ins
||
null
==
this
.
dos
)
{
throw
new
OltException
(
"请先调用initInputAndOutput()方法初始化输入输出流"
);
}
try
{
this
.
dos
.
writeBytes
(
command
+
"\r\n"
);
// 输入命令
this
.
dos
.
flush
();
}
catch
(
IOException
e
)
{
return
new
Result
(
"命令输入异常"
,
PackageExceptionUtil
.
exceptionToString
(
e
));
}
if
(
isRead
)
{
// isRead是ture时读取设备返回的内容
StringBuffer
sb
=
new
StringBuffer
();
try
{
byte
[]
buff
=
new
byte
[
1024
];
int
resRead
=
0
;
long
time
=
(
long
)
sshConfigMap
.
get
(
"returnTimeout"
);
long
begin
=
System
.
currentTimeMillis
();
while
(
true
)
{
if
(
System
.
currentTimeMillis
()
>
begin
+
time
)
{
throw
new
TimeoutException
(
"read time out"
);
}
int
len
=
this
.
ins
.
available
();
if
(
len
>
0
)
{
resRead
=
this
.
ins
.
read
(
buff
);
if
(
resRead
>
0
)
{
String
str
=
new
String
(
buff
,
0
,
resRead
);
sb
.
append
(
str
);
if
(
sb
.
toString
().
trim
().
endsWith
(
"#"
))
{
break
;
}
}
}
else
{
Thread
.
sleep
(
100
);
}
}
}
catch
(
TimeoutException
|
InterruptedException
|
IOException
e
)
{
return
new
Result
(
"读取失败"
,
PackageExceptionUtil
.
exceptionToString
(
e
));
}
return
new
Result
(
"读取成功"
,
sb
.
toString
());
}
else
{
return
new
Result
(
"输入成功"
,
true
);
}
}
/**
* @see 退出该设备
*/
public
Result
sshExit
()
{
try
{
this
.
dos
.
writeBytes
(
"exit\r\n"
);
this
.
dos
.
writeBytes
(
"exit\r\n"
);
this
.
dos
.
flush
();
this
.
dos
.
close
();
this
.
ins
.
close
();
this
.
channel
=
null
;
this
.
sshConnection
=
null
;
this
.
sshConfigMap
.
clear
();
this
.
sshConfigMap
=
null
;
System
.
gc
();
ClearUtil
.
openExe
();
}
catch
(
IOException
e
)
{
return
new
Result
(
"退出失败"
,
PackageExceptionUtil
.
exceptionToString
(
e
));
}
return
new
Result
(
"退出成功"
,
true
);
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment