正在显示
4 个修改的文件
包含
90 行增加
和
18 行删除
@@ -8,6 +8,8 @@ import com.sunyo.wlpt.message.bus.service.service.UserMessageBindingService; | @@ -8,6 +8,8 @@ import com.sunyo.wlpt.message.bus.service.service.UserMessageBindingService; | ||
8 | import org.springframework.web.bind.annotation.*; | 8 | import org.springframework.web.bind.annotation.*; |
9 | 9 | ||
10 | import javax.annotation.Resource; | 10 | import javax.annotation.Resource; |
11 | +import java.io.IOException; | ||
12 | +import java.util.concurrent.TimeoutException; | ||
11 | 13 | ||
12 | /** | 14 | /** |
13 | * @author 子诚 | 15 | * @author 子诚 |
@@ -71,6 +73,7 @@ public class UserMessageBindingController { | @@ -71,6 +73,7 @@ public class UserMessageBindingController { | ||
71 | */ | 73 | */ |
72 | @DeleteMapping("/delete") | 74 | @DeleteMapping("/delete") |
73 | public ResultJson deleteUserMessageBinding(@RequestBody UserMessageBinding userMessageBinding) | 75 | public ResultJson deleteUserMessageBinding(@RequestBody UserMessageBinding userMessageBinding) |
76 | + throws IOException, TimeoutException | ||
74 | { | 77 | { |
75 | // 执行删除方法 | 78 | // 执行删除方法 |
76 | return userMessageBindingService.deleteByPrimaryKey(userMessageBinding.getId()) > 0 | 79 | return userMessageBindingService.deleteByPrimaryKey(userMessageBinding.getId()) > 0 |
@@ -86,6 +89,7 @@ public class UserMessageBindingController { | @@ -86,6 +89,7 @@ public class UserMessageBindingController { | ||
86 | */ | 89 | */ |
87 | @GetMapping("/batchRemove") | 90 | @GetMapping("/batchRemove") |
88 | public ResultJson batchRemoveUserMessageBinding(String ids) | 91 | public ResultJson batchRemoveUserMessageBinding(String ids) |
92 | + throws IOException, TimeoutException | ||
89 | { | 93 | { |
90 | // 执行批量删除 | 94 | // 执行批量删除 |
91 | return userMessageBindingService.deleteByPrimaryKey(ids) > 0 | 95 | return userMessageBindingService.deleteByPrimaryKey(ids) > 0 |
@@ -116,6 +120,7 @@ public class UserMessageBindingController { | @@ -116,6 +120,7 @@ public class UserMessageBindingController { | ||
116 | */ | 120 | */ |
117 | @PostMapping("/insert") | 121 | @PostMapping("/insert") |
118 | public ResultJson insertUserMessageBinding(@RequestBody UserMessageBinding userMessageBinding) | 122 | public ResultJson insertUserMessageBinding(@RequestBody UserMessageBinding userMessageBinding) |
123 | + throws IOException, TimeoutException | ||
119 | { | 124 | { |
120 | // 执行新增 | 125 | // 执行新增 |
121 | return userMessageBindingService.insertSelective(userMessageBinding) > 0 | 126 | return userMessageBindingService.insertSelective(userMessageBinding) > 0 |
1 | package com.sunyo.wlpt.message.bus.service.rabbit.utils; | 1 | package com.sunyo.wlpt.message.bus.service.rabbit.utils; |
2 | 2 | ||
3 | -import com.rabbitmq.client.AMQP; | ||
4 | import com.rabbitmq.client.Channel; | 3 | import com.rabbitmq.client.Channel; |
5 | import com.rabbitmq.client.Connection; | 4 | import com.rabbitmq.client.Connection; |
6 | import com.rabbitmq.client.ConnectionFactory; | 5 | import com.rabbitmq.client.ConnectionFactory; |
@@ -147,9 +146,12 @@ public class RabbitUtils { | @@ -147,9 +146,12 @@ public class RabbitUtils { | ||
147 | { | 146 | { |
148 | Connection connection = getConnection(serverIp, serverPort, virtualHostName); | 147 | Connection connection = getConnection(serverIp, serverPort, virtualHostName); |
149 | Channel channel = connection.createChannel(); | 148 | Channel channel = connection.createChannel(); |
150 | - AMQP.Exchange.DeclareOk declareOk = channel.exchangeDeclare(busExchange.getExchangeName(), busExchange.getExchangeType(), busExchange.getDurability(), | ||
151 | - busExchange.getAutoDelete(), busExchange.getInternal(), null); | ||
152 | - log.info("创建交换机的返回值<----->" + declareOk); | 149 | + channel.exchangeDeclare(busExchange.getExchangeName(), |
150 | + busExchange.getExchangeType(), | ||
151 | + busExchange.getDurability(), | ||
152 | + busExchange.getAutoDelete(), | ||
153 | + busExchange.getInternal(), | ||
154 | + null); | ||
153 | closeConnectionAndChanel(channel, connection); | 155 | closeConnectionAndChanel(channel, connection); |
154 | } | 156 | } |
155 | 157 | ||
@@ -166,18 +168,26 @@ public class RabbitUtils { | @@ -166,18 +168,26 @@ public class RabbitUtils { | ||
166 | } | 168 | } |
167 | 169 | ||
168 | /** | 170 | /** |
169 | - * 添加队列(默认设置参数为null) | 171 | + * 添加队列(默认设置参数为 null) |
170 | */ | 172 | */ |
171 | public void createQueue(String serverIp, Integer serverPort, String virtualHostName, BusQueue busQueue) | 173 | public void createQueue(String serverIp, Integer serverPort, String virtualHostName, BusQueue busQueue) |
172 | throws IOException, TimeoutException | 174 | throws IOException, TimeoutException |
173 | { | 175 | { |
174 | Connection connection = getConnection(serverIp, serverPort, virtualHostName); | 176 | Connection connection = getConnection(serverIp, serverPort, virtualHostName); |
175 | Channel channel = connection.createChannel(); | 177 | Channel channel = connection.createChannel(); |
176 | - channel.queueDeclare(busQueue.getQueueName(), busQueue.getDurability(), false, busQueue.getAutoDelete(), null); | 178 | + channel.queueDeclare(busQueue.getQueueName(), |
179 | + busQueue.getDurability(), | ||
180 | + false, | ||
181 | + busQueue.getAutoDelete(), | ||
182 | + null); | ||
177 | closeConnectionAndChanel(channel, connection); | 183 | closeConnectionAndChanel(channel, connection); |
178 | } | 184 | } |
179 | 185 | ||
180 | /** | 186 | /** |
187 | + * 清空队列 channel.queuePurge(queueName); | ||
188 | + */ | ||
189 | + | ||
190 | + /** | ||
181 | * 删除队列 channel.queueDelete(queueName); | 191 | * 删除队列 channel.queueDelete(queueName); |
182 | */ | 192 | */ |
183 | public void removeQueue(String serverIp, Integer serverPort, String virtualHostName, BusQueue busQueue) | 193 | public void removeQueue(String serverIp, Integer serverPort, String virtualHostName, BusQueue busQueue) |
@@ -190,22 +200,33 @@ public class RabbitUtils { | @@ -190,22 +200,33 @@ public class RabbitUtils { | ||
190 | } | 200 | } |
191 | 201 | ||
192 | /** | 202 | /** |
193 | - * 创建绑定关系 | 203 | + * 创建绑定 |
194 | */ | 204 | */ |
195 | public void createBinding(String serverIp, Integer serverPort, String virtualHostName, UserMessageBinding userMessageBinding) | 205 | public void createBinding(String serverIp, Integer serverPort, String virtualHostName, UserMessageBinding userMessageBinding) |
196 | throws IOException, TimeoutException | 206 | throws IOException, TimeoutException |
197 | { | 207 | { |
198 | Connection connection = getConnection(serverIp, serverPort, virtualHostName); | 208 | Connection connection = getConnection(serverIp, serverPort, virtualHostName); |
199 | Channel channel = connection.createChannel(); | 209 | Channel channel = connection.createChannel(); |
210 | + channel.queueBind(userMessageBinding.getQueueName(), | ||
211 | + userMessageBinding.getExchangeName(), | ||
212 | + userMessageBinding.getRoutingKeyName()); | ||
213 | + closeConnectionAndChanel(channel, connection); | ||
200 | } | 214 | } |
201 | 215 | ||
202 | /** | 216 | /** |
203 | - * 清空队列 channel.queuePurge(queueName); | ||
204 | - */ | ||
205 | - | ||
206 | - /** | ||
207 | * 解除绑定 channel.queueUnbind("queueName", "exchangeName","routingKey"); | 217 | * 解除绑定 channel.queueUnbind("queueName", "exchangeName","routingKey"); |
208 | */ | 218 | */ |
219 | + public void removeBinding(String serverIp, Integer serverPort, String virtualHostName, | ||
220 | + UserMessageBinding userMessageBinding) | ||
221 | + throws IOException, TimeoutException | ||
222 | + { | ||
223 | + Connection connection = getConnection(serverIp, serverPort, virtualHostName); | ||
224 | + Channel channel = connection.createChannel(); | ||
225 | + channel.queueUnbind(userMessageBinding.getQueueName(), | ||
226 | + userMessageBinding.getExchangeName(), | ||
227 | + userMessageBinding.getRoutingKeyName()); | ||
228 | + closeConnectionAndChanel(channel, connection); | ||
229 | + } | ||
209 | 230 | ||
210 | /** | 231 | /** |
211 | * 前往创建交换机的路上 | 232 | * 前往创建交换机的路上 |
@@ -248,6 +269,28 @@ public class RabbitUtils { | @@ -248,6 +269,28 @@ public class RabbitUtils { | ||
248 | } | 269 | } |
249 | 270 | ||
250 | /** | 271 | /** |
272 | + * 前往创建绑定的路上 | ||
273 | + */ | ||
274 | + public void toCreateBinding(UserMessageBinding userMessageBinding) | ||
275 | + throws IOException, TimeoutException | ||
276 | + { | ||
277 | + VirtualHost virtualHost = getVirtualHost(userMessageBinding.getVirtualHostId()); | ||
278 | + BusServer busServer = getBusServer(virtualHost.getServerId()); | ||
279 | + createBinding(busServer.getServerIp(), busServer.getServerPort(), virtualHost.getVirtualHostName(), userMessageBinding); | ||
280 | + } | ||
281 | + | ||
282 | + /** | ||
283 | + * 前往解除绑定的路上 | ||
284 | + */ | ||
285 | + public void toRemoveBinding(UserMessageBinding userMessageBinding) | ||
286 | + throws IOException, TimeoutException | ||
287 | + { | ||
288 | + VirtualHost virtualHost = getVirtualHost(userMessageBinding.getVirtualHostId()); | ||
289 | + BusServer busServer = getBusServer(virtualHost.getServerId()); | ||
290 | + removeBinding(busServer.getServerIp(), busServer.getServerPort(), virtualHost.getVirtualHostName(), userMessageBinding); | ||
291 | + } | ||
292 | + | ||
293 | + /** | ||
251 | * 根据虚拟主机id,获取虚拟主机信息 | 294 | * 根据虚拟主机id,获取虚拟主机信息 |
252 | * | 295 | * |
253 | * @param virtualHostId 虚拟主机id | 296 | * @param virtualHostId 虚拟主机id |
@@ -4,6 +4,9 @@ import com.github.pagehelper.PageInfo; | @@ -4,6 +4,9 @@ import com.github.pagehelper.PageInfo; | ||
4 | import com.sunyo.wlpt.message.bus.service.domain.UserMessageBinding; | 4 | import com.sunyo.wlpt.message.bus.service.domain.UserMessageBinding; |
5 | import com.sunyo.wlpt.message.bus.service.domain.XmlData; | 5 | import com.sunyo.wlpt.message.bus.service.domain.XmlData; |
6 | 6 | ||
7 | +import java.io.IOException; | ||
8 | +import java.util.concurrent.TimeoutException; | ||
9 | + | ||
7 | /** | 10 | /** |
8 | * @author 子诚 | 11 | * @author 子诚 |
9 | * Description: | 12 | * Description: |
@@ -16,7 +19,7 @@ public interface UserMessageBindingService { | @@ -16,7 +19,7 @@ public interface UserMessageBindingService { | ||
16 | * @param id primaryKey | 19 | * @param id primaryKey |
17 | * @return deleteCount | 20 | * @return deleteCount |
18 | */ | 21 | */ |
19 | - int deleteByPrimaryKey(String id); | 22 | + int deleteByPrimaryKey(String id) throws IOException, TimeoutException; |
20 | 23 | ||
21 | /** | 24 | /** |
22 | * 新增 | 25 | * 新增 |
@@ -32,7 +35,7 @@ public interface UserMessageBindingService { | @@ -32,7 +35,7 @@ public interface UserMessageBindingService { | ||
32 | * @param record the record | 35 | * @param record the record |
33 | * @return insert count | 36 | * @return insert count |
34 | */ | 37 | */ |
35 | - int insertSelective(UserMessageBinding record); | 38 | + int insertSelective(UserMessageBinding record) throws IOException, TimeoutException; |
36 | 39 | ||
37 | /** | 40 | /** |
38 | * 根据主键查询 | 41 | * 根据主键查询 |
@@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper; | @@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper; | ||
4 | import com.github.pagehelper.PageInfo; | 4 | import com.github.pagehelper.PageInfo; |
5 | import com.sunyo.wlpt.message.bus.service.domain.*; | 5 | import com.sunyo.wlpt.message.bus.service.domain.*; |
6 | import com.sunyo.wlpt.message.bus.service.mapper.UserMessageBindingMapper; | 6 | import com.sunyo.wlpt.message.bus.service.mapper.UserMessageBindingMapper; |
7 | +import com.sunyo.wlpt.message.bus.service.rabbit.utils.RabbitUtils; | ||
7 | import com.sunyo.wlpt.message.bus.service.service.*; | 8 | import com.sunyo.wlpt.message.bus.service.service.*; |
8 | import com.sunyo.wlpt.message.bus.service.utils.IdUtils; | 9 | import com.sunyo.wlpt.message.bus.service.utils.IdUtils; |
9 | import lombok.extern.slf4j.Slf4j; | 10 | import lombok.extern.slf4j.Slf4j; |
@@ -12,7 +13,9 @@ import org.springframework.transaction.annotation.Propagation; | @@ -12,7 +13,9 @@ import org.springframework.transaction.annotation.Propagation; | ||
12 | import org.springframework.transaction.annotation.Transactional; | 13 | import org.springframework.transaction.annotation.Transactional; |
13 | 14 | ||
14 | import javax.annotation.Resource; | 15 | import javax.annotation.Resource; |
16 | +import java.io.IOException; | ||
15 | import java.util.List; | 17 | import java.util.List; |
18 | +import java.util.concurrent.TimeoutException; | ||
16 | 19 | ||
17 | import static com.sunyo.wlpt.message.bus.service.common.Constant.EXIST_UMB; | 20 | import static com.sunyo.wlpt.message.bus.service.common.Constant.EXIST_UMB; |
18 | 21 | ||
@@ -26,6 +29,9 @@ import static com.sunyo.wlpt.message.bus.service.common.Constant.EXIST_UMB; | @@ -26,6 +29,9 @@ import static com.sunyo.wlpt.message.bus.service.common.Constant.EXIST_UMB; | ||
26 | public class UserMessageBindingServiceImpl implements UserMessageBindingService { | 29 | public class UserMessageBindingServiceImpl implements UserMessageBindingService { |
27 | 30 | ||
28 | @Resource | 31 | @Resource |
32 | + private RabbitUtils rabbitUtils; | ||
33 | + | ||
34 | + @Resource | ||
29 | private UserInfoService userInfoService; | 35 | private UserInfoService userInfoService; |
30 | 36 | ||
31 | @Resource | 37 | @Resource |
@@ -48,7 +54,7 @@ public class UserMessageBindingServiceImpl implements UserMessageBindingService | @@ -48,7 +54,7 @@ public class UserMessageBindingServiceImpl implements UserMessageBindingService | ||
48 | 54 | ||
49 | @Override | 55 | @Override |
50 | @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) | 56 | @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) |
51 | - public int deleteByPrimaryKey(String id) | 57 | + public int deleteByPrimaryKey(String id) throws IOException, TimeoutException |
52 | { | 58 | { |
53 | // 判断删除的个数,需被删除的个数是否一致 | 59 | // 判断删除的个数,需被删除的个数是否一致 |
54 | int index = 0; | 60 | int index = 0; |
@@ -58,7 +64,9 @@ public class UserMessageBindingServiceImpl implements UserMessageBindingService | @@ -58,7 +64,9 @@ public class UserMessageBindingServiceImpl implements UserMessageBindingService | ||
58 | try { | 64 | try { |
59 | String[] split = id.split(splitItem); | 65 | String[] split = id.split(splitItem); |
60 | for (int i = 0; i < split.length; i++) { | 66 | for (int i = 0; i < split.length; i++) { |
67 | + UserMessageBinding userMessageBinding = selectByPrimaryKey(split[i]); | ||
61 | int num = userMessageBindingMapper.deleteByPrimaryKey(split[i]); | 68 | int num = userMessageBindingMapper.deleteByPrimaryKey(split[i]); |
69 | + deleteBinding(userMessageBinding); | ||
62 | if (num > 0) { | 70 | if (num > 0) { |
63 | index = index + num; | 71 | index = index + num; |
64 | } | 72 | } |
@@ -73,10 +81,21 @@ public class UserMessageBindingServiceImpl implements UserMessageBindingService | @@ -73,10 +81,21 @@ public class UserMessageBindingServiceImpl implements UserMessageBindingService | ||
73 | return 0; | 81 | return 0; |
74 | } | 82 | } |
75 | } else { | 83 | } else { |
76 | - return userMessageBindingMapper.deleteByPrimaryKey(id); | 84 | + UserMessageBinding userMessageBinding = selectByPrimaryKey(id); |
85 | + int num = userMessageBindingMapper.deleteByPrimaryKey(id); | ||
86 | + deleteBinding(userMessageBinding); | ||
87 | + return num; | ||
77 | } | 88 | } |
78 | } | 89 | } |
79 | 90 | ||
91 | + /** | ||
92 | + * 解除MQ服务器上的绑定关系 | ||
93 | + */ | ||
94 | + public void deleteBinding(UserMessageBinding userMessageBinding) throws IOException, TimeoutException | ||
95 | + { | ||
96 | + rabbitUtils.toRemoveBinding(userMessageBinding); | ||
97 | + } | ||
98 | + | ||
80 | @Override | 99 | @Override |
81 | public int insert(UserMessageBinding record) | 100 | public int insert(UserMessageBinding record) |
82 | { | 101 | { |
@@ -85,7 +104,7 @@ public class UserMessageBindingServiceImpl implements UserMessageBindingService | @@ -85,7 +104,7 @@ public class UserMessageBindingServiceImpl implements UserMessageBindingService | ||
85 | 104 | ||
86 | @Override | 105 | @Override |
87 | @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) | 106 | @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) |
88 | - public int insertSelective(UserMessageBinding userMessageBinding) | 107 | + public int insertSelective(UserMessageBinding userMessageBinding) throws IOException, TimeoutException |
89 | { | 108 | { |
90 | int index = 0; | 109 | int index = 0; |
91 | String queueId = userMessageBinding.getQueueId(); | 110 | String queueId = userMessageBinding.getQueueId(); |
@@ -382,7 +401,7 @@ public class UserMessageBindingServiceImpl implements UserMessageBindingService | @@ -382,7 +401,7 @@ public class UserMessageBindingServiceImpl implements UserMessageBindingService | ||
382 | /** | 401 | /** |
383 | * 接下来的 校验-填充-添加 | 402 | * 接下来的 校验-填充-添加 |
384 | */ | 403 | */ |
385 | - public int nextValidateAndFill(UserMessageBinding userMessageBinding) | 404 | + public int nextValidateAndFill(UserMessageBinding userMessageBinding) throws IOException, TimeoutException |
386 | { | 405 | { |
387 | String validate = validateBinding(userMessageBinding); | 406 | String validate = validateBinding(userMessageBinding); |
388 | if (EXIST_UMB.equals(validate)) { | 407 | if (EXIST_UMB.equals(validate)) { |
@@ -390,7 +409,9 @@ public class UserMessageBindingServiceImpl implements UserMessageBindingService | @@ -390,7 +409,9 @@ public class UserMessageBindingServiceImpl implements UserMessageBindingService | ||
390 | return 0; | 409 | return 0; |
391 | } else if (validate == null) { | 410 | } else if (validate == null) { |
392 | // 此处添加MQ服务器上的绑定关系 | 411 | // 此处添加MQ服务器上的绑定关系 |
393 | - return userMessageBindingMapper.insertSelective(umb_fillName(userMessageBinding)); | 412 | + UserMessageBinding completeBinding = umb_fillName(userMessageBinding); |
413 | + rabbitUtils.toCreateBinding(completeBinding); | ||
414 | + return userMessageBindingMapper.insertSelective(completeBinding); | ||
394 | } else { | 415 | } else { |
395 | return 0; | 416 | return 0; |
396 | } | 417 | } |
-
请 注册 或 登录 后发表评论