md
This commit is contained in:
parent
3039a1fabd
commit
1e674dbb62
@ -7,5 +7,5 @@
|
|||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="17" project-jdk-type="JavaSDK" />
|
<component name="ProjectRootManager" version="2" project-jdk-name="1.8.0_201" project-jdk-type="JavaSDK" />
|
||||||
</project>
|
</project>
|
||||||
@ -83,21 +83,6 @@ spring.rabbitmq.username=ccloud
|
|||||||
spring.rabbitmq.password=123#@!
|
spring.rabbitmq.password=123#@!
|
||||||
spring.rabbitmq.virtual-host=/pushcus
|
spring.rabbitmq.virtual-host=/pushcus
|
||||||
|
|
||||||
#nats 相关配置
|
|
||||||
#nats.nats-urls=nats://nats.base:4222
|
|
||||||
nats.nats-urls=nats://192.168.88.57:4222
|
|
||||||
nats.max-reconnect=1000000
|
|
||||||
nats.reconnect-wait=2
|
|
||||||
nats.connection-timeout=2
|
|
||||||
#nats.user-name=nats
|
|
||||||
#nats.password=908123821Jsdfu123218771923
|
|
||||||
|
|
||||||
# 单点登录服务
|
|
||||||
sso.server.url=http://192.168.88.57:10089
|
|
||||||
sso.app.id=allinone-server
|
|
||||||
sso.app.secret=123456
|
|
||||||
# 单点登录超时时间,单位秒
|
|
||||||
#sso.timeout=7200
|
|
||||||
|
|
||||||
|
|
||||||
#DXP001_SEND
|
#DXP001_SEND
|
||||||
|
|||||||
@ -48,12 +48,6 @@
|
|||||||
<version>1.0.0</version>
|
<version>1.0.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>io.nats</groupId>
|
|
||||||
<artifactId>jnats</artifactId>
|
|
||||||
<version>2.16.14</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>mysql</groupId>
|
<groupId>mysql</groupId>
|
||||||
<artifactId>mysql-connector-java</artifactId>
|
<artifactId>mysql-connector-java</artifactId>
|
||||||
|
|||||||
@ -1,46 +0,0 @@
|
|||||||
package com.xdadan.erp.mq.nats;
|
|
||||||
|
|
||||||
|
|
||||||
import com.xdadan.erp.common.utils.StringUtils;
|
|
||||||
import io.nats.client.Connection;
|
|
||||||
import io.nats.client.Nats;
|
|
||||||
import io.nats.client.Options;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.time.Duration;
|
|
||||||
|
|
||||||
@Configuration
|
|
||||||
public class NatsConfig {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* nats 连接
|
|
||||||
* @param properties nats 配置文件类
|
|
||||||
* @return nats 连接
|
|
||||||
* @throws IOException
|
|
||||||
* @throws InterruptedException
|
|
||||||
*/
|
|
||||||
@Bean(name = "natsConnection")
|
|
||||||
public Connection natsConnection(NatsProperties properties) throws IOException, InterruptedException {
|
|
||||||
String[] str = properties.getNatsUrls().split(",");
|
|
||||||
Options.Builder builder = new Options.Builder()
|
|
||||||
.servers(str)
|
|
||||||
.connectionListener(new NatsMessageListener()) // 指定监听器
|
|
||||||
.maxReconnects(properties.getMaxReconnect())
|
|
||||||
.reconnectWait(Duration.ofSeconds(properties.getReconnectWait()))
|
|
||||||
.connectionTimeout(Duration.ofSeconds(properties.getConnectionTimeout()));
|
|
||||||
|
|
||||||
// 配置用户名和密码
|
|
||||||
if (!StringUtils.isEmpty(properties.getUserName()) && !StringUtils.isEmpty(properties.getPassword())) {
|
|
||||||
builder.userInfo(properties.getUserName().toCharArray(),properties.getPassword().toCharArray());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!StringUtils.isEmpty(properties.getToken())) {
|
|
||||||
builder.token(properties.getToken().toCharArray());
|
|
||||||
}
|
|
||||||
|
|
||||||
return Nats.connect(builder.build());
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
package com.xdadan.erp.mq.nats;
|
|
||||||
|
|
||||||
import com.xdadan.erp.common.utils.spring.SpringUtils;
|
|
||||||
import io.nats.client.Connection;
|
|
||||||
import io.nats.client.ConnectionListener;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
|
|
||||||
@Slf4j
|
|
||||||
public class NatsMessageListener implements ConnectionListener {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void connectionEvent(Connection conn, Events events) {
|
|
||||||
log.info(String.format("nats connection status: %s", conn.getStatus()));
|
|
||||||
|
|
||||||
// 连接成功后进行消息订阅
|
|
||||||
if(Connection.Status.CONNECTED.equals(conn.getStatus())){
|
|
||||||
log.info("NATS conneted");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,35 +0,0 @@
|
|||||||
package com.xdadan.erp.mq.nats;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
/**
|
|
||||||
#nats 相关配置
|
|
||||||
nats.nats-urls=nats://xxx:4222
|
|
||||||
nats.max-reconnect=60
|
|
||||||
nats.reconnect-wait=2
|
|
||||||
nats.connection-timeout=2
|
|
||||||
nats.user-name=nats
|
|
||||||
nats.password=nats
|
|
||||||
*/
|
|
||||||
@Component
|
|
||||||
@ConfigurationProperties(prefix = "nats")
|
|
||||||
@Data
|
|
||||||
public class NatsProperties {
|
|
||||||
|
|
||||||
private String natsUrls;
|
|
||||||
|
|
||||||
private String token = null;
|
|
||||||
|
|
||||||
private int maxReconnect = 60;
|
|
||||||
|
|
||||||
private int reconnectWait = 2;
|
|
||||||
|
|
||||||
private int connectionTimeout = 2;
|
|
||||||
|
|
||||||
private String userName;
|
|
||||||
|
|
||||||
private String password;
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,48 +0,0 @@
|
|||||||
package com.xdadan.erp.tst;
|
|
||||||
|
|
||||||
|
|
||||||
import com.xdadan.erp.common.core.controller.BaseController;
|
|
||||||
import com.xdadan.erp.common.utils.spring.SpringUtils;
|
|
||||||
import io.nats.client.Connection;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
|
|
||||||
@Slf4j
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/tst/mq/nats")
|
|
||||||
public class TestController extends BaseController
|
|
||||||
{
|
|
||||||
@Resource(name="natsConnection")
|
|
||||||
private Connection natsConnection;
|
|
||||||
|
|
||||||
@GetMapping("/publish")
|
|
||||||
public void publish(String subject,String msg)
|
|
||||||
{
|
|
||||||
// 发送测试消息
|
|
||||||
// sendMqMsg("IM-BINDGROUP","111,1");
|
|
||||||
sendMqMsg(subject,msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void sendMqMsg(String subject,String msg){
|
|
||||||
|
|
||||||
if(natsConnection==null) {
|
|
||||||
log.info("NATS服务器未连接!!!");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
log.info("发送 MQ NATS 消息: subject:{} , msg:{}",subject,msg);
|
|
||||||
natsConnection.publish(subject, msg.getBytes(StandardCharsets.UTF_8));
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.info("发送 MQ NATS 异常: subject:{} , msg:{}, e:",subject,msg,e.getMessage());
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue
Block a user