Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
老丢丢
SpringBoot2Demo
提交
e903a9dd
S
SpringBoot2Demo
项目概览
老丢丢
/
SpringBoot2Demo
通知
3
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SpringBoot2Demo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e903a9dd
编写于
12月 16, 2020
作者:
Q
qinxiaodong@pannk.com
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
websocket
上级
55b4ee0c
变更
20
显示空白变更内容
内联
并排
Showing
20 changed file
with
355 addition
and
12 deletion
+355
-12
integrate-mq/src/main/java/com/pannk/ws/config/DirectRabbitMQConfig.java
...c/main/java/com/pannk/ws/config/DirectRabbitMQConfig.java
+1
-1
integrate-mq/src/main/java/com/pannk/ws/config/FanoutRabbitMQConfig.java
...c/main/java/com/pannk/ws/config/FanoutRabbitMQConfig.java
+1
-1
integrate-mq/src/main/java/com/pannk/ws/config/TopicRabbitMQConfig.java
...rc/main/java/com/pannk/ws/config/TopicRabbitMQConfig.java
+1
-1
integrate-shiro/src/main/java/com/pannk/ws/config/BaseException.java
...hiro/src/main/java/com/pannk/ws/config/BaseException.java
+1
-1
integrate-shiro/src/main/java/com/pannk/ws/config/BaseExceptionHandler.java
...c/main/java/com/pannk/ws/config/BaseExceptionHandler.java
+1
-1
integrate-shiro/src/main/java/com/pannk/ws/config/Constant.java
...ate-shiro/src/main/java/com/pannk/ws/config/Constant.java
+1
-1
integrate-shiro/src/main/java/com/pannk/ws/config/OAuth2Filter.java
...shiro/src/main/java/com/pannk/ws/config/OAuth2Filter.java
+1
-1
integrate-shiro/src/main/java/com/pannk/ws/config/OAuth2Realm.java
...-shiro/src/main/java/com/pannk/ws/config/OAuth2Realm.java
+1
-1
integrate-shiro/src/main/java/com/pannk/ws/config/OAuth2Token.java
...-shiro/src/main/java/com/pannk/ws/config/OAuth2Token.java
+1
-1
integrate-shiro/src/main/java/com/pannk/ws/config/RedisUtil.java
...te-shiro/src/main/java/com/pannk/ws/config/RedisUtil.java
+184
-0
integrate-shiro/src/main/java/com/pannk/ws/config/Result.java
...grate-shiro/src/main/java/com/pannk/ws/config/Result.java
+1
-1
integrate-shiro/src/main/java/com/pannk/ws/config/ShiroConfig.java
...-shiro/src/main/java/com/pannk/ws/config/ShiroConfig.java
+1
-1
integrate-swagger/src/main/java/com/pannk/ws/config/Swagger2Config.java
...ger/src/main/java/com/pannk/ws/config/Swagger2Config.java
+1
-1
integrate-websocket/pom.xml
integrate-websocket/pom.xml
+40
-0
integrate-websocket/src/main/java/com/pannk/config/RedisConfig.java
...websocket/src/main/java/com/pannk/config/RedisConfig.java
+29
-0
integrate-websocket/src/main/java/com/pannk/config/RedisUtil.java
...e-websocket/src/main/java/com/pannk/config/RedisUtil.java
+0
-0
integrate-websocket/src/main/java/com/pannk/ws/config/WebSocketConfig.java
...et/src/main/java/com/pannk/ws/config/WebSocketConfig.java
+21
-0
integrate-websocket/src/main/java/com/pannk/ws/interceptor/WebSocketInterceptor.java
...n/java/com/pannk/ws/interceptor/WebSocketInterceptor.java
+28
-0
integrate-websocket/src/main/java/com/pannk/ws/wshandlers/MyWebSocketHandler.java
...main/java/com/pannk/ws/wshandlers/MyWebSocketHandler.java
+40
-0
pom.xml
pom.xml
+1
-0
未找到文件。
integrate-mq/src/main/java/com/pannk/config/DirectRabbitMQConfig.java
→
integrate-mq/src/main/java/com/pannk/
ws/
config/DirectRabbitMQConfig.java
浏览文件 @
e903a9dd
package
com.pannk.config
;
package
com.pannk.
ws.
config
;
import
org.springframework.amqp.core.Binding
;
import
org.springframework.amqp.core.BindingBuilder
;
...
...
integrate-mq/src/main/java/com/pannk/config/FanoutRabbitMQConfig.java
→
integrate-mq/src/main/java/com/pannk/
ws/
config/FanoutRabbitMQConfig.java
浏览文件 @
e903a9dd
package
com.pannk.config
;
package
com.pannk.
ws.
config
;
import
com.pannk.cons.Constant
;
import
org.springframework.amqp.core.Binding
;
...
...
integrate-mq/src/main/java/com/pannk/config/TopicRabbitMQConfig.java
→
integrate-mq/src/main/java/com/pannk/
ws/
config/TopicRabbitMQConfig.java
浏览文件 @
e903a9dd
package
com.pannk.config
;
package
com.pannk.
ws.
config
;
import
com.pannk.cons.Constant
;
import
org.springframework.amqp.core.Binding
;
...
...
integrate-shiro/src/main/java/com/pannk/config/BaseException.java
→
integrate-shiro/src/main/java/com/pannk/
ws/
config/BaseException.java
浏览文件 @
e903a9dd
package
com.pannk.config
;
package
com.pannk.
ws.
config
;
import
lombok.Data
;
...
...
integrate-shiro/src/main/java/com/pannk/config/BaseExceptionHandler.java
→
integrate-shiro/src/main/java/com/pannk/
ws/
config/BaseExceptionHandler.java
浏览文件 @
e903a9dd
package
com.pannk.config
;
package
com.pannk.
ws.
config
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.shiro.authz.AuthorizationException
;
...
...
integrate-shiro/src/main/java/com/pannk/config/Constant.java
→
integrate-shiro/src/main/java/com/pannk/
ws/
config/Constant.java
浏览文件 @
e903a9dd
package
com.pannk.config
;
package
com.pannk.
ws.
config
;
/**
* Created by wolf on 20-11-2.
...
...
integrate-shiro/src/main/java/com/pannk/config/OAuth2Filter.java
→
integrate-shiro/src/main/java/com/pannk/
ws/
config/OAuth2Filter.java
浏览文件 @
e903a9dd
package
com.pannk.config
;
package
com.pannk.
ws.
config
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
...
...
integrate-shiro/src/main/java/com/pannk/config/OAuth2Realm.java
→
integrate-shiro/src/main/java/com/pannk/
ws/
config/OAuth2Realm.java
浏览文件 @
e903a9dd
package
com.pannk.config
;
package
com.pannk.
ws.
config
;
import
com.pannk.user.entity.UserEntity
;
import
org.apache.shiro.authc.*
;
...
...
integrate-shiro/src/main/java/com/pannk/config/OAuth2Token.java
→
integrate-shiro/src/main/java/com/pannk/
ws/
config/OAuth2Token.java
浏览文件 @
e903a9dd
package
com.pannk.config
;
package
com.pannk.
ws.
config
;
import
org.apache.shiro.authc.AuthenticationToken
;
...
...
integrate-shiro/src/main/java/com/pannk/ws/config/RedisUtil.java
0 → 100644
浏览文件 @
e903a9dd
package
com.pannk.ws.config
;
import
com.alibaba.fastjson.JSON
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
/**
* Created by wolf on 20-11-3.
*/
@Slf4j
@Component
public
class
RedisUtil
{
@Autowired
private
RedisTemplate
<
String
,
Object
>
redisTemplate
;
/**
* 设置过期时间
* @param key 键
* @param time 时间,单位:秒
* @return
*/
public
boolean
expire
(
String
key
,
long
time
)
{
try
{
if
(
time
>
0
)
{
redisTemplate
.
expire
(
key
,
time
,
TimeUnit
.
SECONDS
);
}
return
true
;
}
catch
(
Exception
e
)
{
log
.
error
(
"设置失效时间出错,{}"
,
e
);
return
false
;
}
}
/**
* 设置过期时间
* @param key 键
* @param day 时间,单位:天
* @return
*/
public
boolean
expire
(
String
key
,
int
day
){
try
{
if
(
day
<
0
){
redisTemplate
.
expire
(
key
,
day
,
TimeUnit
.
DAYS
);
}
return
true
;
}
catch
(
Exception
e
){
log
.
error
(
"设置失效时间出错,{}"
,
e
);
return
false
;
}
}
/**
* 删除键
* @param key 键
*/
public
void
del
(
String
...
key
){
if
(
key
!=
null
&&
key
.
length
>
0
){
if
(
key
.
length
==
1
){
redisTemplate
.
delete
(
key
[
0
]);
}
else
{
redisTemplate
.
delete
(
CollectionUtils
.
arrayToList
(
key
));
}
}
}
/**
* 缓存获取
* @param key 键
* @return
*/
public
Object
get
(
String
key
){
return
key
==
null
?
null
:
redisTemplate
.
opsForValue
().
get
(
key
);
}
/**
* 获取对象
* @param key 键
* @param cls 类
* @param <T> 类型
* @return
*/
public
<
T
>
T
getEntity
(
String
key
,
Class
<
T
>
cls
){
Object
obj
=
this
.
get
(
key
);
if
(
obj
!=
null
){
return
JSON
.
parseObject
(
obj
.
toString
(),
cls
);
}
return
null
;
}
/**
* 获取列表
* @param key 键
* @param cls 类
* @param <T> 类型
* @return
*/
public
<
T
>
List
<
T
>
getListEntity
(
String
key
,
Class
<
T
>
cls
){
Object
obj
=
this
.
get
(
key
);
if
(
obj
!=
null
){
return
JSON
.
parseArray
(
obj
.
toString
(),
cls
);
}
return
null
;
}
/**
* 设置键值
* @param key 键
* @param value 值
* @return
*/
public
boolean
set
(
String
key
,
Object
value
){
try
{
redisTemplate
.
opsForValue
().
set
(
key
,
value
);
return
true
;
}
catch
(
Exception
e
){
log
.
error
(
"设置键值出错,{}"
,
e
);
return
false
;
}
}
/**
* 设置键值和失效时间
* @param key 键
* @param value 值
* @param time 失效时间
* @return
*/
public
boolean
set
(
String
key
,
Object
value
,
long
time
){
try
{
if
(
time
>
0
){
redisTemplate
.
opsForValue
().
set
(
key
,
value
,
time
,
TimeUnit
.
SECONDS
);
}
else
{
set
(
key
,
value
);
}
return
true
;
}
catch
(
Exception
e
){
log
.
error
(
"设置键值和失效时间出错,{}"
,
e
);
return
false
;
}
}
/**
* 获取hash值
* @param key 键
* @param item 项
* @return
*/
public
Object
hget
(
String
key
,
String
item
){
return
redisTemplate
.
opsForHash
().
get
(
key
,
item
);
}
/**
* 获取hashKey对应的所有键值
* @param key 键
* @return
*/
public
Map
<
Object
,
Object
>
hmget
(
String
key
){
return
redisTemplate
.
opsForHash
().
entries
(
key
);
}
/**
* 设置hash值
* @param key 键
* @param map 值
* @return
*/
public
boolean
hmset
(
String
key
,
Map
<
String
,
Object
>
map
){
try
{
redisTemplate
.
opsForHash
().
putAll
(
key
,
map
);
return
true
;
}
catch
(
Exception
e
){
log
.
error
(
"设置哈希键值出错,{}"
,
e
);
return
false
;
}
}
}
integrate-shiro/src/main/java/com/pannk/config/Result.java
→
integrate-shiro/src/main/java/com/pannk/
ws/
config/Result.java
浏览文件 @
e903a9dd
package
com.pannk.config
;
package
com.pannk.
ws.
config
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
...
...
integrate-shiro/src/main/java/com/pannk/config/ShiroConfig.java
→
integrate-shiro/src/main/java/com/pannk/
ws/
config/ShiroConfig.java
浏览文件 @
e903a9dd
package
com.pannk.config
;
package
com.pannk.
ws.
config
;
import
org.apache.shiro.mgt.SecurityManager
;
import
org.apache.shiro.spring.LifecycleBeanPostProcessor
;
...
...
integrate-swagger/src/main/java/com/pannk/config/Swagger2Config.java
→
integrate-swagger/src/main/java/com/pannk/
ws/
config/Swagger2Config.java
浏览文件 @
e903a9dd
package
com.pannk.config
;
package
com.pannk.
ws.
config
;
import
com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j
;
import
org.springframework.context.annotation.Bean
;
...
...
integrate-websocket/pom.xml
0 → 100644
浏览文件 @
e903a9dd
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
springboot-demo
</artifactId>
<groupId>
com.pannk
</groupId>
<version>
1.0
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
integrate-websocket
</artifactId>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-redis
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<version>
1.18.4
</version>
</dependency>
<!-- websocket -->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-websocket
</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
integrate-websocket/src/main/java/com/pannk/config/RedisConfig.java
0 → 100644
浏览文件 @
e903a9dd
package
com.pannk.config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.serializer.StringRedisSerializer
;
/**
* Redis配置
*
* @author wolf
* @date 20-11-13
*/
@Configuration
public
class
RedisConfig
{
@Bean
public
RedisTemplate
getRedisTemplate
(
RedisConnectionFactory
redisConnectionFactory
)
{
RedisTemplate
redisTemplate
=
new
RedisTemplate
();
//设置连接工厂
redisTemplate
.
setConnectionFactory
(
redisConnectionFactory
);
//设置键序列化
redisTemplate
.
setKeySerializer
(
new
StringRedisSerializer
());
//设置值序列化
redisTemplate
.
setValueSerializer
(
new
StringRedisSerializer
());
return
redisTemplate
;
}
}
integrate-
shiro
/src/main/java/com/pannk/config/RedisUtil.java
→
integrate-
websocket
/src/main/java/com/pannk/config/RedisUtil.java
浏览文件 @
e903a9dd
文件已移动
integrate-websocket/src/main/java/com/pannk/ws/config/WebSocketConfig.java
0 → 100644
浏览文件 @
e903a9dd
package
com.pannk.ws.config
;
import
com.pannk.ws.interceptor.WebSocketInterceptor
;
import
com.pannk.ws.wshandlers.MyWebSocketHandler
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.socket.config.annotation.EnableWebSocket
;
import
org.springframework.web.socket.config.annotation.WebSocketConfigurer
;
import
org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry
;
/**
* Created by wolf on 20-12-16.
*/
@Configuration
@EnableWebSocket
public
class
WebSocketConfig
implements
WebSocketConfigurer
{
@Override
public
void
registerWebSocketHandlers
(
WebSocketHandlerRegistry
webSocketHandlerRegistry
)
{
webSocketHandlerRegistry
.
addHandler
(
new
MyWebSocketHandler
(),
"/websocket/{clientId}"
).
setAllowedOrigins
(
"*"
).
addInterceptors
(
new
WebSocketInterceptor
());
}
}
integrate-websocket/src/main/java/com/pannk/ws/interceptor/WebSocketInterceptor.java
0 → 100644
浏览文件 @
e903a9dd
package
com.pannk.ws.interceptor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.http.server.ServerHttpRequest
;
import
org.springframework.http.server.ServerHttpResponse
;
import
org.springframework.web.socket.WebSocketHandler
;
import
org.springframework.web.socket.server.HandshakeInterceptor
;
import
java.util.Map
;
/**
* Created by wolf on 20-12-16.
*/
@Slf4j
public
class
WebSocketInterceptor
implements
HandshakeInterceptor
{
@Override
public
boolean
beforeHandshake
(
ServerHttpRequest
serverHttpRequest
,
ServerHttpResponse
serverHttpResponse
,
WebSocketHandler
webSocketHandler
,
Map
<
String
,
Object
>
map
)
throws
Exception
{
return
false
;
}
@Override
public
void
afterHandshake
(
ServerHttpRequest
serverHttpRequest
,
ServerHttpResponse
serverHttpResponse
,
WebSocketHandler
webSocketHandler
,
Exception
e
)
{
}
}
integrate-websocket/src/main/java/com/pannk/ws/wshandlers/MyWebSocketHandler.java
0 → 100644
浏览文件 @
e903a9dd
package
com.pannk.ws.wshandlers
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.socket.CloseStatus
;
import
org.springframework.web.socket.WebSocketHandler
;
import
org.springframework.web.socket.WebSocketMessage
;
import
org.springframework.web.socket.WebSocketSession
;
/**
* Created by wolf on 20-12-16.
*/
@Component
@Slf4j
public
class
MyWebSocketHandler
implements
WebSocketHandler
{
@Override
public
void
afterConnectionEstablished
(
WebSocketSession
webSocketSession
)
throws
Exception
{
}
@Override
public
void
handleMessage
(
WebSocketSession
webSocketSession
,
WebSocketMessage
<?>
webSocketMessage
)
throws
Exception
{
}
@Override
public
void
handleTransportError
(
WebSocketSession
webSocketSession
,
Throwable
throwable
)
throws
Exception
{
}
@Override
public
void
afterConnectionClosed
(
WebSocketSession
webSocketSession
,
CloseStatus
closeStatus
)
throws
Exception
{
}
@Override
public
boolean
supportsPartialMessages
()
{
return
false
;
}
}
pom.xml
浏览文件 @
e903a9dd
...
...
@@ -22,6 +22,7 @@
<module>
integrate-swagger
</module>
<module>
integrate-shiro
</module>
<module>
integrate-activiti
</module>
<module>
integrate-websocket
</module>
</modules>
<parent>
<groupId>
org.springframework.boot
</groupId>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录