mpusher / mpush Goto Github PK
View Code? Open in Web Editor NEWMPush开源实时消息推送系统
Home Page: https://mpusher.github.io
License: Apache License 2.0
MPush开源实时消息推送系统
Home Page: https://mpusher.github.io
License: Apache License 2.0
我能在PushCenter L73 push,中添加定时发送吗?
java.net.ConnectException: Connection refused: no further information at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361) at sun.nio.ch.SocketChannelImpl.shutdownInput(SocketChannelImpl.java:780) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141) at sun.nio.ch.SocketAdaptor.shutdownInput(SocketAdaptor.java:399) at org.apache.zookeeper.ClientCnxnSocketNIO.cleanup(ClientCnxnSocketNIO.java:200) at org.apache.zookeeper.ClientCnxn$SendThread.cleanup(ClientCnxn.java:1246) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1170) 10:53:43.142 - [main-SendThread(127.0.0.1:2181)] DEBUG - o.a.zookeeper.ClientCnxnSocketNIO - Ignoring exception during shutdown output java.nio.channels.ClosedChannelException: null at sun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:797) at sun.nio.ch.SocketAdaptor.shutdownOutput(SocketAdaptor.java:407) at org.apache.zookeeper.ClientCnxnSocketNIO.cleanup(ClientCnxnSocketNIO.java:207) at org.apache.zookeeper.ClientCnxn$SendThread.cleanup(ClientCnxn.java:1246) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1170)
启动ServerTest时报错了
接入了mpush,前段能正常收到消息。怎么在后台也能收到?
OS :centos7 64
mpush :0.7.1
mp.net.public-host-mapping 配置后,alloc:9999 一直显示的是虚拟网卡的IP,修改mpush.conf & reference.conf 均无效,执行下面的命令删除虚拟网卡后才能显示mpush.conf配置的IP。
望确认。
现在绑定同一个id 不会把前一个踢下线
UserStatusChangeListener如何使用... 前端开发的求教
`public class UserStatusChangeListener implements MQMessageReceiver {
private static final Logger LOGGER = LoggerFactory.getLogger(com.mpush.client.user.UserStatusChangeListener.class);
//只需要一台机器注册online、offline 消息通道
public UserStatusChangeListener() {
MQClientFactory.create().subscribe(ONLINE_CHANNEL, this);
MQClientFactory.create().subscribe(OFFLINE_CHANNEL, this);
}
@Override
public void receive(String channel, Object message) {
LOGGER.info(" UserStatusChangeListener " + channel + " " + message);
}
}`
[main-SendThread(127.0.0.1:2181)] WARN - org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)
从队列的右边入队应该是调用jedis.rpush方法,代码里调用的是jedis.lpush
好像没有更为直观的监控界面
这个支持IOS的日程有安排吗?
下载0.0.4版,执行bin目录下的mp.cmd start 命令,显示如下错误:
Unrecognized option: -jar ../boot.jar
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
貌似没有boot.jar ?
尝试修改mp.cmd,改成bin目录下的bootstrap.jar,错误仍然一样。
当前项目集成了MPush,在项目中绑定并接成功收到消息推送后,将手机放置一段时间,就发现消息推送接收不到了,然后后台服务还是存在的,日志里面也只有启动和绑定的信息。但是如果我在应用管理里面将MPUSH的服务进程杀死,五秒后重启 就能立马接收到消息推送了,至于客户端关于MPUSH的代码也是沿用的示列demo
看起来是不维护了。
启动报错:
[root@localhost bin]# ./mp.sh start /opt/app/mpush/bin/env-mp.sh:行2: $'\r': 未找到命令 /opt/app/mpush/bin/env-mp.sh:行17: $'\r': 未找到命令 /opt/app/mpush/bin/env-mp.sh:行20: $'\r': 未找到命令 /opt/app/mpush/bin/env-mp.sh:行25: $'\r': 未找到命令 /opt/app/mpush/bin/env-mp.sh:行28: $'\r': 未找到命令 /opt/app/mpush/bin/env-mp.sh:行80: 未预期的符号
$'do\r'' 附近有语法错误
'opt/app/mpush/bin/env-mp.sh:行80: `do
MPush JMX enabled by default
./mp.sh:行99: cygpath: 未找到命令
Using config:
mkdir: 无法创建目录"": 没有那个文件或目录
mkdir: 无法创建目录"": 没有那个文件或目录
Starting mpush ... STARTED`
启动服务的时候:
JMX disabled by user request
Using config: /usr/local/mpush/bin/../conf/mpush.conf
Starting mpush ... STARTED
查看日志: tailf -n 30 logs/mpush.out 显示:
Error: Could not find or load main class com.mpush.bootstrap.Main
请问什么情况?
启动 com.mpush.test.sever.ServerTestMain.java 后没有打印 SimpleCacheMangerFactory 中的信息
@Spi(order = 2)
public final class SimpleCacheMangerFactory implements CacheManagerFactory {
@Override
public CacheManager get() {
log("CacheManager");
return FileCacheManger.I;
}
public void log(String str) {
System.out.println("oldfeel-----------" + str);
}
}
请问这个可以实现,推送记录对消息推送详情、阅读量予以统计的功能吗?
方便交流一下实现方案吗?
1.前提: 可能是mpush端口不通,导致channel.connect() timeout
2.在Tcpconnection 中doConnect 方法占用了锁。
3.此时在mpushservice 中调用ondestroy (主线程),其中点进去看到调用了4. 4.connection.setAutoConnect()方法,该方法也需要抢占锁。造成了界面卡顿。
5.又,如果在此时又一次启动mpush, 在mpushService 的onstartcommand方法中(主线程)MPush.I.client.start()方法也需要抢占锁,也会导致主界面卡顿
没维护了?
大佬们,请教几个问题:
1.为啥要自研推送系统?极光不好用吗
2.极光有啥缺点?
3.RabbitMQ 做推送有啥短板?
4.自定义消息协议有啥优势?
5.推送系统和即时通讯系统有啥关联和区别?
regards!
或者有没有办法,启动的时候配置启动文件,而不是编译好,可以不用编译改变配置呢
`
private void bindUser(ClientConfig client) {
BindUserMessage message = new BindUserMessage(connection);
message.userId = client.getUserId();
message.tags = "test";//???
message.send();
connection.getSessionContext().setUserId(client.getUserId());
LOGGER.debug("send bind user message={}", message);
}
`
在网络多次连续通断的情况下,会偶发性的出现该异常,异常信息如下:
2019-12-17 14:03:10.231 - [mp-conn-work-3-3] ERROR - com.mpush.tools.crypto.RSAUtils - decryptByPrivateKey ex javax.crypto.BadPaddingException: Decryption error at sun.security.rsa.RSAPadding.unpadV15(RSAPadding.java:383) at sun.security.rsa.RSAPadding.unpad(RSAPadding.java:294) at com.sun.crypto.provider.RSACipher.doFinal(RSACipher.java:363) at com.sun.crypto.provider.RSACipher.engineDoFinal(RSACipher.java:389) at javax.crypto.Cipher.doFinal(Cipher.java:2222) at com.mpush.tools.crypto.RSAUtils.doFinal(RSAUtils.java:278) at com.mpush.tools.crypto.RSAUtils.decryptByPrivateKey(RSAUtils.java:255) at com.mpush.common.security.RsaCipher.decrypt(RsaCipher.java:44) at com.mpush.common.message.BaseMessage.decodeBinaryBody0(BaseMessage.java:90) at com.mpush.common.message.BaseMessage.decodeBody(BaseMessage.java:64) at com.mpush.common.handler.BaseMessageHandler.handle(BaseMessageHandler.java:45) at com.mpush.common.MessageDispatcher.onReceive(MessageDispatcher.java:86) at com.mpush.core.server.ServerChannelHandler.channelRead(ServerChannelHandler.java:72) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:1018) at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:394) at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:299) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) at java.lang.Thread.run(Thread.java:748) 2019-12-17 14:03:10.231 - [mp-conn-work-3-3] ERROR - com.mpush.common.MessageDispatcher - dispatch message ex, packet={cmd=5, cc=0, flags=1, sessionId=8, lrc=0, body=32}, connect=[channel=[id: 0x917a765b, L:/10.0.1.102:3000 - R:/10.0.1.253:33641], context=, status=1, lastReadTime=1576562590225, lastWriteTime=0], body=[-115, -113, -47, 23, -88, -3, -2, 35, 95, 42, -48, -109, 110, 4, -78, -47, 73, 16, 66, -35, -77, -67, 6, -103, -113, -2, 117, 78, 0, 96, 42, -23] com.mpush.tools.crypto.CryptoException: RSA decrypt ex at com.mpush.tools.crypto.RSAUtils.decryptByPrivateKey(RSAUtils.java:258) at com.mpush.common.security.RsaCipher.decrypt(RsaCipher.java:44) at com.mpush.common.message.BaseMessage.decodeBinaryBody0(BaseMessage.java:90) at com.mpush.common.message.BaseMessage.decodeBody(BaseMessage.java:64) at com.mpush.common.handler.BaseMessageHandler.handle(BaseMessageHandler.java:45) at com.mpush.common.MessageDispatcher.onReceive(MessageDispatcher.java:86) at com.mpush.core.server.ServerChannelHandler.channelRead(ServerChannelHandler.java:72) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:341) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:349) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:1018) at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:394) at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:299) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) at java.lang.Thread.run(Thread.java:748) Caused by: javax.crypto.BadPaddingException: Decryption error at sun.security.rsa.RSAPadding.unpadV15(RSAPadding.java:383) at sun.security.rsa.RSAPadding.unpad(RSAPadding.java:294) at com.sun.crypto.provider.RSACipher.doFinal(RSACipher.java:363) at com.sun.crypto.provider.RSACipher.engineDoFinal(RSACipher.java:389) at javax.crypto.Cipher.doFinal(Cipher.java:2222) at com.mpush.tools.crypto.RSAUtils.doFinal(RSAUtils.java:278) at com.mpush.tools.crypto.RSAUtils.decryptByPrivateKey(RSAUtils.java:255) ... 24 common frames omitted
一台电脑上部署两个mpush,alloc也能显示,但是在安卓手机上进行绑定和启动推送都显示连接成功和握手成功,心跳也ok,但是点击send时就显示mpush断开重连,日志显示unsupported command,这是什么问题呢
开发环境:spring+springmvc
2017-09-21 17:17:38,809 INFO [RMI TCP Connection(2)-127.0.0.1] [mpush.cache.log] - begin init redis...
2017-09-21 17:17:38,811 INFO [RMI TCP Connection(2)-127.0.0.1] [mpush.cache.log] - init redis success...
2017-09-21 17:17:38,819 ERROR [RMI TCP Connection(2)-127.0.0.1] [org.springframework.web.servlet.DispatcherServlet] - Context initialization failed
java.lang.IllegalArgumentException: 'request' is already in use
at io.netty.util.ConstantPool.createOrThrow(ConstantPool.java:113)
at io.netty.util.ConstantPool.newInstance(ConstantPool.java:95)
at io.netty.util.AttributeKey.newInstance(AttributeKey.java:55)
at com.mpush.netty.http.NettyHttpClient.<init>(NettyHttpClient.java:64)
at com.mpush.core.MPushServer.getHttpClient(MPushServer.java:138)
at com.mpush.core.handler.HttpProxyHandler.<init>(HttpProxyHandler.java:61)
at com.mpush.core.server.ConnectionServer.lambda$init$5(ConnectionServer.java:86)
at com.mpush.common.MessageDispatcher.register(MessageDispatcher.java:68)
at com.mpush.core.server.ConnectionServer.init(ConnectionServer.java:86)
at com.mpush.bootstrap.job.ServerBoot.start(ServerBoot.java:44)
at com.mpush.bootstrap.job.BootJob.startNext(BootJob.java:41)
at com.mpush.bootstrap.job.ServiceDiscoveryBoot.start(ServiceDiscoveryBoot.java:38)
at com.mpush.bootstrap.job.BootJob.startNext(BootJob.java:41)
at com.mpush.bootstrap.job.ServiceRegistryBoot.start(ServiceRegistryBoot.java:36)
at com.mpush.bootstrap.job.BootJob.startNext(BootJob.java:41)
at com.mpush.bootstrap.job.CacheManagerBoot.start(CacheManagerBoot.java:36)
at com.mpush.bootstrap.job.BootJob.startNext(BootJob.java:41)
at com.mpush.bootstrap.job.BootChain$1.start(BootChain.java:44)
at com.mpush.bootstrap.job.BootChain.start(BootChain.java:60)
at com.mpush.bootstrap.ServerLauncher.start(ServerLauncher.java:74)
at com.thinkgem.jeesite.common.web.MpushStartupListener.onApplicationEvent(MpushStartupListener.java:21)
at com.thinkgem.jeesite.common.web.MpushStartupListener.onApplicationEvent(MpushStartupListener.java:13)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:98)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:333)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:335)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:778)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:485)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:658)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:624)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:672)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:543)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:484)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1183)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1099)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:989)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4931)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5241)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1702)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:482)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:431)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
[2017-09-21 05:17:38,866] Artifact jeesite:war exploded: Artifact is deployed successfully
[2017-09-21 05:17:38,866] Artifact jeesite:war exploded: Deploy took 25,316 milliseconds
2017-09-21 17:18:30,044 INFO [mp-t-2-monitor] [mpush.monitor.log] - {"results":{"jvm-gc":{"fullGcCollectionCount":3,"fullGcCollectionTime":310,"spanFullGcCollectionCount":1,"spanFullGcCollectionTime":210,"spanYongGcCollectionCount":3,"spanYongGcCollectionTime":44,"yongGcCollectionCount":17,"yongGcCollectionTime":355},"jvm-info":{"freeMemory":"1062m","load":3.755859375,"maxMemory":"3641m","pid":"7217","totalMemory":"1489m"},"jvm-memory":{"edenSpaceCommitted":1282932736,"edenSpaceInit":67108864,"edenSpaceMax":1294467072,"edenSpaceUsed":372832040,"heapMemoryCommitted":1561853952,"heapMemoryInit":268435456,"heapMemoryMax":3817865216,"heapMemoryUsed":447371432,"nonHeapMemoryCommitted":112091136,"nonHeapMemoryInit":2555904,"nonHeapMemoryMax":-1,"nonHeapMemoryUsed":109055848,"oldGenCommitted":209190912,"oldGenInit":179306496,"oldGenMax":2863661056,"oldGenUsed":55924232,"permGenCommitted":0,"permGenInit":0,"permGenMax":0,"permGenUsed":0,"survivorCommitted":69730304,"survivorInit":11010048,"survivorMax":69730304,"survivorUsed":18615160},"jvm-thread":{"daemonThreadCount":58,"deadLockedThreadCount":0,"threadCount":94,"totalStartedThreadCount":122},"jvm-thread-pool":{"ack-timer":{"activeCount(workingThread)":0,"corePoolSize":1,"maxPoolSize":2147483647,"poolSize(workThread)":0,"queueSize(blockedTask)":0},"conn-worker":{"activeCount(workingThread)":16,"poolSize(workThread)":16,"queueSize(blockedTask)":0},"event-bus":{"activeCount(workingThread)":0,"corePoolSize":1,"maxPoolSize":16,"poolSize(workThread)":0,"queueSize(blockedTask)":0},"mq":{"activeCount(workingThread)":0,"corePoolSize":1,"maxPoolSize":4,"poolSize(workThread)":0,"queueSize(blockedTask)":0}}},"timestamp":1505985510041}
rt
现在还不支持离线消息是吧
你好,mpush性能怎么样,各组件单节点情况可支持多少用户,最大用户情况下推送频率?
如果这么配置的话digest=mpush,
namespace节点的访问密码是多少呢?
是不是该配置成digest=mpush:password,这样?
使用springboot集成mpush-boot初始化报错:
java.lang.IllegalArgumentException: no executor for mq
路由中心模块一直初始化报错
如果实现高可用的即时通讯 、使用udp会不会导致消息丢失?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.