Android中使用ActiveMQ重连遇到的问题 5C
最近Android端需要接收服务器端推送的消息,故需要长连接,使用了Apache ActiveMQ服务器,使用Eclipse paho服务,正常连接没有问题,客户端与服务器连接断掉以后,客户端重新连接服务器,会出现出现多个连接对象的情况,希望相关技术人员给予解答,谢谢!

1个回答

我当时使用的是mqtt协议连接amq,自动重连正常,好像没出现多个连接对象的问题。

xiaoshengfdyh
小生array 可以分享一下mq服务器,以及使用的客户端程序吗、这个多对象的问题一直没有解决,,谢谢了
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ActiveMQ的断线重连机制
断线重连机制是ActiveMQ的高可用性具体体现之一。 具体就是使用failover方式,使得连接断开之后,可以不断的重试连接到一个或多个brokerURL。 例如:failover:(tcp://127.0.0.1:61616) ,这里可以使用多个url。 默认情况下,如果client与broker直接的connection断开,则client会新起一个线程, 不断的从url参数中获取...
ActiveMQ的断线重连机制
断线重连机制是ActiveMQ的高可用性具体体现之一。 具体就是使用failover方式,使得连接断开之后,可以不断的重试连接到一个或多个brokerURL。 例如:failover:(tcp://127.0.0.1:61616) ,这里可以使用多个url。 默认情况下,如果client与broker直接的connection断开,则client会新起一个线程, 不断的从url参数中获取一...
ActiveMQ消费者断开重连
配置文件tcp连接地址前加 failover:tcp://192.168.427.222:61616 当ActiveMQ服务为集群时,采用 failover:(tcp://192.168.427.222:61616,tcp://192.168.427.333:61616)?randomize=false 当采用集群时,若当前链接断开,重连机制会随机选择一个节点重连,并且不会避开刚刚断开...
ActiveMQ中遇到的问题
当发送消息的类型为Object时; 生产者和消费者中的Object对象的全限定类名和系列号必须相同;否则不认为是同一个Object对象
Android Xmpp断线重连
1、Xmpp断线重连在android基于openfire服务器,Asmack开源框架的即时通讯应用。做断线重连机制。 思路 开启服务XmppService在后台长时间监听 在服务XmppService的onStart()中设置监听事件,如果xmpp断开则,打开定时器 在定时器中判断,如果有网络就重新连接,如果没有网络,继续走定时器,在后台5s判断一次 最终如果有了网络就再次连接服务器
activemq动态部署的遇到的问题
1.网管把公司网络的广播禁止了,导致动态主机之间不能自动找到.
activemq时遇到的问题
1:问题描述:消费者在执行代码时有时候成功,有时候失败;但是调试过程是完全正确的; 检查方向:打开你设置的IP+:8161/admin;本地默认打开localhost:8161/admin;输入账号和密码,初始账号和密码均为admin,打开后查看消费者个数是否是自己设置的个数,如果大于自己代码中设置的个数,则考虑是否在远程服务器上已经有了相关设置,但是远程的代码并不是最新的; 解决方案:删除远
Socket重连的问题
我用clientsocket和服务器连接,服务器断掉后,重启,想让clientsocket重新连接,但只能在clientsocket所在的窗体上触发事件,不能在另个窗体上触发clientsocket连接,怎么实现?
ActiveMQ遇到的问题
启动正常 版本是apache-activemq-5.4.2-binrnrn遇到两个问题rn1、在使用ConnectionFactory session 测试的时候。 提示rn Exception in thread "main" javax.jms.JMSException: Unknown data type: 47rnrnrn在与spring 整合以后 rn 连接正常 但是 提示 did not receive a messagernrnrn谁能帮忙看一下rnrn
Socket重连问题
下面是连接程序rn我想在网络断开的时候重新连,怎么改,谢谢rn加注释的话异常是在已连接的socket申请连接rnpublic void Connect2Server()rnrn IPAddress ipAddress = IPAddress.Parse(szSvrIPAddr);rn EndPoint remoteEP = new IPEndPoint(ipAddress, SvrPort);rn/* rn Socket SocketClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);rnrn if (SocketClient.Connected)rn rn SocketClient.Shutdown(SocketShutdown.Both);rn SocketClient.Close();rn Thread.Sleep(100);rn rn*/rnrn while(!SocketClient.Connected)rn rn tryrn rn SocketClient.Connect(remoteEP);rn rn catch(Exception exc)rn rn Log.WriteEntry("Connect to Server Error:" + exc.Message, EventLogEntryType.Error, 2);rn rn Thread.Sleep(30 * 1000); //30srn rn
数据库重连问题
用bde,database进行重连。rn部分代码:rndatabase1.close;rndatabase1.keepconnection=false;rndatabase1.open;rndatabase1.keepconnection=true;rnrn还是重连不上,请教高手应该怎么处理。
重没遇到的问题
一台P4 1.7的机器,重新做过系统,装了WIN2000 AD SERVER,从网上下了个声卡的驱动,接音箱后不发声,换音箱也同样,怀疑声卡没驱动,找到原配的声卡驱动,问题就来了,在安装声卡的过程中,机器黑屏,重启后,出现蓝屏,显示为:硬件或软件安装错误,建议在安全模式下,卸载安装的软硬件,再重启,想进入安全模式,仍然出现蓝屏,显示内容一样,因为声卡为板载,所以,在CMOS中将声卡屏蔽,重启,问题照旧,下主板电池,仍无法解决.在无奈之下,选择重装系统,任选择2000SERVER,安装进行到一半,在文件拷贝时,出现一个文件错误,显示安装错误,任意键重启后,又出现蓝屏,一狠心,干脆重新分区,再装2000,问题仍然。不知各位道友有否解决之方案,看贴散分.
TCP重连问题 快速多次重连
各位大神好。现在我使用 lwip 1.4.1协议建立个小型服务器(大概3个设备会连上服务器(设备是手机)。客户端使用一个ip地址 不同的端口和服务器建立TCP连接(使用环境:一个连上服务器后 马上断开,然后过一两秒又马上连接,心跳是10秒一个),现在我们测试发现:一个连上后 马上断开 过两秒后马上连接 手机有做关闭处理的 这时必须要等先前那个连接要跑到心跳检测程序 执行关闭处理后 另一个才能连接上。手机APP方面没问题 已经测试过了 能 和其它服务器建立两路连接 现在这个问题已经困扰我两天 请大神们指点一下啊! 下面是服务器的代码rnrn int listenfd;rn int remotefd;rn struct sockaddr_in local_addr,remote_addr; rn listenfd = socket(AF_INET,SOCK_STREAM,0);rn if(listenfd == -1) rn rn printf("listenfd error\n");rnreturn;rn rnrnint n_yin=1;rnsetsockopt(listenfd,SOL_SOCKET ,SO_REUSEADDR,(const char*)&n_yin,sizeof(n_yin));rnrn local_addr.sin_family = AF_INET;rn local_addr.sin_port = htons(7685);rn local_addr.sin_addr.s_addr = htonl(INADDR_ANY);rn local_addr.sin_len = sizeof(local_addr);rn len = sizeof(remote_addr); rnrn if (bind(listenfd, (struct sockaddr *) &local_addr, sizeof(local_addr)) < 0)rn rn printf("tcp bind error\r\n");rn return ;rn rn if(listen(listenfd,3) < 0)rn rnprintf("listen error\n");rn return;rn rnwhile(1)rnrn remotefd = accept(listenfd,(struct sockaddr_in *)&remote_addr,&len);rn if(remotefd < 0)rnrn//数据处理rnrn
db-library中数据库重连的问题
我们用SQL SERVER中的DB-LIBRARY建了十个数据库连接,分别为十个线程拥有.还有一个测试线程用来监视这十个线程的数据库连接正常与否.rn比如,当网络断掉或因为其他原因数据库连接不正常时,监视线程就将此线程所在的连接重建.rn但我一直不能很好地实现此设计方案,原因如下:rn1、遇到线程互斥问题,监视线程和拥有连接的线程对数据库连接访问会碰到并发问题。rn2、DB-LIBRARY提供的接口,没有提供一个用来判断数据库连接是否正常的接口,实现数据库连接重连的方法苦苦找不到。rn哪位给个思路?rn谢谢。
ZigBee中协调器断电重连问题?
问题描述:如果你想实现一个完好的网络,协调器断电重启后还是能加入原来的网络,加上NV_RESTORE编译选项就可以,如果发现加上它,还是实现不了要求,就请作如下操作? 方法:如果加了NV_RESTORE后,协调器还是不能恢复网络而是新建网络,也就是NLME_RestoreFromNV()的返回值一直是0,这个时候,勾选编译选项Erase flash和Verify download,清除一下原来的
ActiveMQ断线重连后发送消息的速度相当慢啊!
如题,我才用ActiveMQ的failover机制,URL配置为:rnbrokerURL = failover:(nio://192.168.10.126:61616?soLinger=0&tcpNoDelay=true,nio://192.168.0.137:61616?soLinger=0&tcpNoDelay=true)?randomize=false&backup=true.rn 发送接收都很正常,然后我主动关闭了第一个broker,发送客户端会向第二个broker发送数据,接受客户端也转向接受第二个broker的信息,发送、接收正常,但是发送的速度明显下降了很多,之前是毫秒级,关闭第一个broker之后速度是秒级的了!这个正常吗?或者需要哪里额外配置?rn
ActiveMQ安装及启动遇到的问题
首先去官方网站下载:http://activemq.apache.org/  我下载的时候最新的是 ActiveMQ 5.15.0 Release版  然后解压,我的电脑是win7 64位,所以点击 apache-activemq-5.15.0\bin\win64\activemq.bat运行 发现报错了 Failed to start Apache ActiveMQ (localhost
oracle 断线重连问题。
用C++通过 ocilib 连接 oracle数据库。。。rnrnrn2台机器。客户端上连接好另一台机器上的oracle数据库,不停的用程序去更新oracle数据库。rnrnrn问题:在客户端或者服务器之间的网线断了。。那么客户端就无法在重新自动连接上服务器。。。rnrnrnrn求大神们。。告诉下。。如何用C+++代码实现断线后。。也能重新连接上oracle数据库?
stm32 断开重连的问题
测试了一下开发板的网络通信。发现它没有断开重连机制。用的是LwIP协议。网上找了好半开也没找到有用的资料。基本上很多人都碰到了我一样的问题,有没有人写过断线重连的代码。介绍一下。
Socket 断线重连问题
上篇文章是关于Socket创建可Socket数据处理在这里: ☞ 利用GCDSocket 创建Socket ☞ 处理Socket数据粘包问题 关于断线重连的思路大概如下 当与服务器断开连接或网络出错时,先不要处理当前正在连接的socket,可能回应下当前UI的数据显示问题; 可以另起一个socket服务,与服务器尝试连接,当连接成功时,通知当前Socket进行重新连接
关于socket重连的问题
请问,有没有关于socket重新连接的代码,今天我试了好多次都没有解决这个问题我的实验如下:rn1. 我想在连接后如果在一段时间内收不到数据就判断连接是否断开,判断的方式是直接把服务端停掉,但是用了isClosed()和isConnect()方法都不能测得,即使我把服务端停掉,isClosed()返回的依然是false, isConnect()方法返回的依然是true;rn2. 上面判断连接是否断开的想法失败后我想另一个办法就是不管连接是否断开,如果一段时间内没有收到数据就把socket进行重新连接,但是重新连接后(如果服务器本身没有停掉,只是隔时间长没有发数据)就不能再得到服务器端的数据。rnrn请问谁有这方面的代码,或者想法,谢谢
关于Socket重连的问题。
有一个个客户端程序,当服务端重启之后客户端连接不上,必须重启客户端才可连接到系统。rn我检查了链接出现异常后客户端只是关闭了一下socket,然后重新连接服务端。rn请问我还需要做什么善后操作可以保证程序重新连接到服务端?rnrn注意:rn由于代码架构限制,客户端socket不能重新构造。
socket网络编程,非阻塞方式重连问题
我的需求是:建立一个客户端socket,这个socket只用于向服务端法数据。rnrn我需要的实现方式是:rn(1)在主线程中设置成非阻塞方式去连接服务端。rn(2)之后不管连接成功与否,再建立一个发送线程sendthread,这个线程中实现两个功能,一个是判断网络情况,与服务端断开时不断重连,另一个是发送数据。rnrn[code=C/C++]rnlong ClientTCP::Open()rnrn m_Socket = ::socket(AF_INET, SOCK_STREAM, 0);rnrn if (m_Socket == SOCKET_ERROR)rn rn m_csStatus = ctDisConnect;rn return -1;rn rnrn unsigned long ulargp = 1;rn int iRet = ::ioctlsocket(m_Socket, FIONBIO, (unsigned long*)&ulargp); //设置成非阻塞方式rn if(SOCKET_ERROR == iRet)rn rn ::shutdown(m_Socket, 0);rn ::closesocket(m_Socket);rn m_Socket = INVALID_SOCKET;rn return -3;rn rnrn sockaddr_in addr;rn addr.sin_family = AF_INET;rn addr.sin_port = htons(m_usHostPort);rn addr.sin_addr.s_addr = ::inet_addr(m_strHostIp.c_str());rn memset(addr.sin_zero, 0, 8);rnrn struct timeval timeout;rn fd_set rfd;rnrn FD_ZERO(&rfd);rn FD_SET(m_Socket, &rfd);rn timeout.tv_sec = 3;rn timeout.tv_usec =0;rnrn connect(m_Socket, (struct sockaddr*)(&addr), sizeof(sockaddr_in));// 连接rn iRet = ::select(m_Socket + 1, NULL, &rfd, NULL, &timeout); //判断套接字的写状态rn if (iRet <= 0)rn rn rn rn elsern rnrn rnrn rn //创建发送线程rn m_Terminate = false;rn m_hThreadSend = ::CreateThread(NULL, 0, ThreadProcSend, this, CREATE_SUSPENDED, &m_dwThreadSendId);rnrn if (NULL == m_hThreadSend)rn rn return -2;rn rn DWORD dwLastSuspendCount = ::ResumeThread(m_hThreadSend);rnrnrnrnDWORD WINAPI ClientTCP::ThreadProcSend(LPVOID lpParameter)rnrn CLSClientTCP* pClient = (CLSClientTCP*)lpParameter;rnrn while (!pClient->m_Terminate)rn rnrn struct timeval timeout;rn fd_set rfd;rnrn FD_ZERO(&rfd);rn FD_SET(pClient->m_Socket, &rfd);rn timeout.tv_sec = 3;rn timeout.tv_usec =0;rnrn //通过select判断写状态,进而判断与服务端是否正常连接rn int iRet = ::select(pClient->m_Socket + 1, NULL, &rfd, NULL, &timeout);rnrn //如果小于零就重连服务端,但是当我把服务端软件关闭后,上面一行的select还是返回1,这是rn //为什么呀?rn if (iRet <= 0)rn rn sockaddr_in addr;rn addr.sin_family = AF_INET;rn addr.sin_port = htons(pClient->m_usHostPort);rn addr.sin_addr.s_addr = ::inet_addr(pClient->m_strHostIp.c_str());rn memset(addr.sin_zero, 0, 8);rnrnrn struct timeval timeout;rn fd_set rfd;rnrn FD_ZERO(&rfd);rn FD_SET(pClient->m_Socket, &rfd);rn timeout.tv_sec = 3;rn timeout.tv_usec =0;rnrn connect(pClient->m_Socket, (struct sockaddr*)(&addr), sizeof(sockaddr_in));rn int iRet = ::select(pClient->m_Socket + 1, NULL, &rfd, NULL, &timeout);rn if (iRet <= 0)rn rn rn continue;rn rn elsern rn rn rn rnrnrnrnrn if(pClient->m_csStatus == ctConnect)rn rn // 发送数据rn rnrn return 0;rnrnrn[/code]rnrnrnrn[color=#FF0000][size=12px]我的问题是:rn我的本意是通过发送线程函数的第一个select函数判断与服务端的连接状况,但是当我把服务端软件关闭后,上面一行的select仍然始终返回1,这是为什么呀?难道这样的重连方式不对吗??rnrn求助,给分解决方法,谢谢!!!![/size][/color]
求教数据库重连问题
仅仅采用了TADOConnection 和TADOQuery,定时进行查询,第一次连接没有问题。rn但是当数据库读取出错之后,就再也无法查询了。rn就算在读取数据之前判断是否已连接以确定是否重连,第二次连接还是无法成功。rn但是,当我进行调试的时候,单步运行,而且每步停顿一会儿,有的时候却能够成功。rn请问这是什么原因?怎么样才能进行重连。rn我的代码:rn TADOConnection *DB;rn TADOQuery *QStock;rnrn ……rn TADOQuery *Q ;rn rn ……rn rn if (!DB->Connected)rn rn DB->Close();rn DB->Open() ;rn rn Q = QStock ;rn Q->Close() ;rn Q->SQL->Clear() ;rn Q->SQL->Add(sql) ;rn Q->Open() ;rnrn其中QStock和DB都是在设计时就设计好的控件,而Q是在查询时才定义的一个变量。rn我用的是access数据库,当同时进行十几个连接时就会出错,然后无法重连了rn急求回答,在线等。非常感谢!!!
websocket断线重连问题
[code=html]rn rn workerman-chat PHP聊天室 Websocket(HTLM5/Flash)+PHP多进程socket实时推送技术rn rn rn rn rn rn rn rn rnrn rnrnrn rn rn rn rn rn rn rn rn rn rn 所有人rn rn rn rn rn rn 房间列表:(当前在 房间0 ? intval($_GET['room_id']):1; ?>) rn 房间1 房间2 房间3 房间4rn rn rn PHP多进程+Websocket(HTML5/Flash)+PHP Socket实时推送技术 Powered by workerman-chatrn rn rn rn rn rn rn rn rn rn rnrnrn[/code]rnrn1 为什么我断线以后 我文字发布出去 重新连接上 却发出去了????rn2 为什么我断线以后 重新连接 却显示重连成功 服务端没有主动发出这样得消息
断电,ADO重连问题
文件监视系统,当有新文件时,通过ADO及时更新数据库!rn现在遇到这样的问题: 断电后(断电时间不确定),ADO执行数据库操作失败!rn怎样才能判断ADO连接是否与数据断开,然后重新连接数据库呢!rnrn(试过ADO的State,连接后状态为1,断开网络连接后,再试State还是为1)
ADOConnection断线重连问题
使用ADOConnection连接oracle数据库,开始正常,当网络断开时数据库连接失败(此时查询ADOConnection.connected属性是true),rn用了 ADOConnection的query在open时都报错,想了一个解决方法,使用定时器判断如下:rn[code=Delphi(Pascal)]rnvarrn adoq : TADOQuery;rnbeginrn adoq := TADOQuery.Create(nil);rn adoq.Connection := dm.ADOConn;rn adoq.Close;rn adoq.SQL.Clear;rn adoq.SQL.Add('select * from cat where 1=0');rn tryrn adoq.Open;rn exceptrn tryrn dm.ADOConn.Connected := false;rn dm.ADOConn.Connected := true;rn exceptrn end;rn end;rnend;rn[/code]rn按理说应该重连上了,可是结果还是未连接状态。query在open时依然报错,请问怎么回事啊,怎样解决呢?
ADO报错重连的问题
小弟初学ADO,在对数据库操作的时候捕捉错误,但怎么判断这个错误是什么原因造成的呢?比如是重复健还是数据库断开?怎么知道在哪种情况下需要重连数据库呢?
客户重连服务器的问题
服务器代码,如下:rn#include rn#include rn#include rn#include rn#include rn#include rn#include rn#include rn#include rn#include rn#include rn#include rnrn#define PORT 15888rn#define BUFSIZE 1024rnrnvectorvfds;rnrnint Bedaemon(void)rnrn pid_t pid;rn if ( (pid=fork()) < 0 )rn return -1;rn else if( pid !=0 )rn exit(0);rnrn printf("setsid()\n");rn setsid();rn return 0;rnrnrnint GetMaxfd( vectorv )rnrn int nRetVal = 0;rn vector::iterator iter;rn for ( iter = v.begin(); iter != v.end(); iter++ )rn if ( (*iter) >= nRetVal )rn nRetVal = (*iter);rn return nRetVal+1;rnrnrnint main(int argc, char **argv)rnrn int serverfd,maxfd;rn fd_set readfds;rn struct sockaddr_in svaddr;rn struct sockaddr_in claddr;rn int sin_size;rn char buf[BUFSIZE]=0;rnrn Bedaemon();rnrn if ( ( serverfd = socket( AF_INET, SOCK_STREAM, 0 ) ) == -1 )rn rn herror("socket");rn exit(1);rn rnrn svaddr.sin_family = AF_INET;rn svaddr.sin_port = htons(PORT);rn svaddr.sin_addr.s_addr = INADDR_ANY;rn bzero(&(svaddr.sin_zero),0);rnrn if ( bind(serverfd, (struct sockaddr*)&svaddr, sizeof(struct sockaddr)) == -1 )rn rn perror("bind");rn exit(1);rn rnrn if ( listen(serverfd,20) == -1 )rn rn perror("listen");rn exit(1);rn rnrn vfds.push_back( 0 ); // std inrn vfds.push_back( serverfd ); // serverfdrnrn FD_ZERO( &readfds );rn FD_SET( vfds[0], &readfds );rn FD_SET( vfds[1], &readfds );rnrn struct timeval tv;rn tv.tv_sec = 2;rn tv.tv_usec = 500000;rnrn vector::iterator iter;rn int nClientfd;rn while(1)rn rn maxfd = GetMaxfd( vfds );rn printf("max fd is %d\n", maxfd);rn if ( select(maxfd, &readfds, NULL, NULL, NULL) == -1 )rn rn perror("select");rn exit(1);rn rnrn if ( FD_ISSET( serverfd, &readfds ) )rn rn sin_size = sizeof(struct sockaddr_in);rn if ( ( nClientfd = accept(serverfd,(struct sockaddr*)&claddr,\rn (socklen_t*)&sin_size)) == -1 )rn rn perror("accept");rn continue;rn rn vfds.push_back( nClientfd );rn FD_SET( nClientfd, &readfds );rn printf("Server:connected form client with addr:%s\n",\rn inet_ntoa(claddr.sin_addr));rn rn iter = vfds.begin();rn iter = iter + 2;rn for ( ; iter != vfds.end(); iter++ )rn rn if ( FD_ISSET( (*iter), &readfds ) )rn rn int nReadRes = read((*iter), buf, 1024 );rn if ( nReadRes == -1 || nReadRes == 0 )rn rn perror("read");rn FD_CLR( (*iter), &readfds );rn shutdown((*iter),2);rn vfds.erase( iter );rn iter--;rn rn elsern printf( "The Data is %s\n", buf );rn rn rn sleep(1);rn rn return 0;rnrnrnrn客户端是在windows下,关闭连接的时候调用了closesocket(sockfd);rn连接:rnsocket();rnconnect();rn第一次连接没问题,但是closesocket之后再连就不行了,服务器在select()这里阻塞了rn大侠们帮忙看一下rn
[求助]OLEDB重连问题
我写了一个OLEDB链接函数,数据库打开的时候可以正常链接,rn但是关闭数据库以后,掉用这个函数,要弹出一个输入密码的对话框,怎么才能链接的时候不弹出对话,直接失败?rnOpenFromInitializationString(CDataSource& db, LPCOLESTR szInitializationString)rnrn CComPtr spDataInit;rnrn HRESULT hr = CoCreateInstance(CLSID_MSDAINITIALIZE, NULL, CLSCTX_INPROC_SERVER,rn IID_IDataInitialize, (void**)&spDataInit);rn if (FAILED(hr))rn return hr;rnrn CComPtr spIDBProperties;rn hr = spDataInit->GetDataSource(NULL, CLSCTX_INPROC_SERVER, szInitializationString,rn IID_IDBInitialize, (IUnknown**)&db.m_spInit);rn if (FAILED(hr))rn return hr;rnrn if (SUCCEEDED(hr))rn rn CDBPropSet dbinit(DBPROPSET_DBINIT);rn dbinit.AddProperty(DBPROP_INIT_PROMPT, (short)DBPROMPT_COMPLETE);rn IDBProperties *pIDBProperties;rn db.m_spInit->QueryInterface(IID_IDBProperties,rn (void**)&pIDBProperties);rn pIDBProperties->SetProperties(1, &dbinit);rn pIDBProperties->Release();rn rnrn return db.m_spInit->Initialize();rnrnrn调用代码:rnCDataSource db;rnUSES_CONVERSION;rnOpenFromInitializationString(db,T2OLE(strConnect.c_str()));rnreturn m_session.Open(db);
奇怪的ADO 重连问题
BOOL ConnectDB(void)rnrn tryrn //连接数据库rn m_pConnection.CreateInstance(__uuidof(Connection));rn //m_pConnection->ConnectionTimeout = 5;rn m_pConnection->CommandTimeout = 5;rn m_pConnection->Open("Driver=SQL Server; Server=XXKJSERV-CVVQI2; Database=N8DBServer;","zyg","zyg",0);rn if((m_pConnection != NULL) && (adStateOpen == m_pConnection->GetState()))rn Connected = 1;rn return TRUE;rn rn rn catch(_com_error &e)rn _bstr_t bstrError(e.ErrorMessage());rn CString strError;rn strError.Format("连接数据库错误:%s", (char *)bstrError);rn ReportException(strError);rn rn catch(...)rn ReportException("连接数据库发生未知错误");rn rnrn return FALSE;rnrnrn重连之前已经做了: m_pConnection->Close(); m_pConnection = NULL;rnrn当SQL服务停了,第一次调用ConnectDB返回FALSE(正常情况); 但当SQL服务开启,调用ConnectDB连接成功后,程序运行正常过程中停掉SQL服务, 调用ConnectDB却总是返回TRUE(不正常了)rnSQL服务停了为什么还能连接成功? 郁闷!!!
求教数据库重连的问题
仅仅采用了TADOConnection 和TADOQuery,定时进行查询,第一次连接没有问题。rn但是当数据库读取出错之后,就再也无法查询了。rn就算在读取数据之前判断是否已连接以确定是否重连,第二次连接还是无法成功。rn但是,当我进行调试的时候,单步运行,而且每步停顿一会儿,有的时候却能够成功。rn请问这是什么原因?怎么样才能进行重连。rn我的代码:rn TADOConnection *DB;rn TADOQuery *QStock;rnrn ……rn TADOQuery *Q ;rn rn ……rn rn if (!DB->Connected)rn rn DB->Close();rn DB->Open() ;rn rn Q = QStock ;rn Q->Close() ;rn Q->SQL->Clear() ;rn Q->SQL->Add(sql) ;rn Q->Open() ;rnrn其中QStock和DB都是在设计时就设计好的控件,而Q是在查询时才定义的一个变量。rnrn急求回答,在线等。非常感谢!!!
zookeeper不断重连问题
近段日子自学hbase,配置了hbase的伪分布模式,使用eclipse对hbase中的表进行操作。在代码和jar包没有错的情况下,却老是报错,下面是eclipse代码:rnrnrnrnimport java.io.IOException;rnrnimport org.apache.hadoop.conf.Configuration;rnimport org.apache.hadoop.hbase.HBaseConfiguration;rnimport org.apache.hadoop.hbase.HTableDescriptor;rnimport org.apache.hadoop.hbase.TableName;rnimport org.apache.hadoop.hbase.client.Connection;rnimport org.apache.hadoop.hbase.client.ConnectionFactory;rnimport org.apache.hadoop.hbase.client.Get;rnimport org.apache.hadoop.hbase.client.HTable;rnimport org.apache.hadoop.hbase.client.Result;rnimport org.apache.hadoop.hbase.util.Bytes;rnrnpublic class AddInfo rn public static void main(String [] args) throws IOExceptionrn Configuration con =HBaseConfiguration.create();rn con.set("hbase.rootdir", "hdfs://localhost:9000/hbase");rn con.set("hbase.zookeeper.quorum", "192.168.0.102");rn con.set("hbase.zookeeper.property.clientPort", "2181");rn Connection connection =ConnectionFactory.createConnection(con);rn rn HTable table =(HTable) connection.getTable(TableName.valueOf(Bytes.toBytes("Hbase_test1")));rn //添加rowkeyrn byte[] row1 =Bytes.toBytes("row1");rn// Put p1 =new Put(row1);rn// p1.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("Name"), Bytes.toBytes("Daming"));rn// byte[] row2 =Bytes.toBytes("row2");rn// Put p2 =new Put(row2);rn// p2.addColumn(Bytes.toBytes("professional"), Bytes.toBytes("Job"), Bytes.toBytes("it"));rn// table.put(p1);rn// table.put(p2);rn Get get =new Get(row1);rn Result res =table.get(get);rn System.out.println(table.toString()+":::::::"+res.toString());rn rnrnrnrn报出的异常信息:rnException in thread "main" org.apache.hadoop.hbase.TableNotFoundException: Hbase_test1rn at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegionInMeta(ConnectionManager.java:1283)rn at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1181)rn at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1165)rn at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1122)rn at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getRegionLocation(ConnectionManager.java:957)rn at org.apache.hadoop.hbase.client.HRegionLocator.getRegionLocation(HRegionLocator.java:83)rn at org.apache.hadoop.hbase.client.RegionServerCallable.prepare(RegionServerCallable.java:75)rn at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:134)rn at org.apache.hadoop.hbase.client.HTable.get(HTable.java:865)rn at org.apache.hadoop.hbase.client.HTable.get(HTable.java:831)rn at AddInfo.main(AddInfo.java:35)rnrn主要的错误就是table获取不到,查看hbase中的日志rnrn发现zookeeper一直在不断的断开重连,而且当eclipse运行的时候,就会断开重连。rnrn下面是zookeeper部分日志(问题已给出):rnrn2017-06-14 17:38:56,314 INFO [SyncThread:0] server.ZooKeeperServer: Established session 0x15ca5f84cb00005 with negotiated timeout 90000 for client /192.168.0.102:41114rn2017-06-14 17:38:56,366 INFO [ProcessThread(sid:0 cport:-1):] server.PrepRequestProcessor: Got user-level KeeperException when processing sessionid:0x15ca5f84cb00004 type:create cxid:0x7 zxid:0xcd txntype:-1 reqpath:n/a Error Path:/hbase/flush-table-proc/acquired Error:KeeperErrorCode = NodeExists for /hbase/flush-table-proc/acquiredrn2017-06-14 17:38:56,381 INFO [ProcessThread(sid:0 cport:-1):] server.PrepRequestProcessor: Got user-level KeeperException when processing sessionid:0x15ca5f84cb00004 type:create cxid:0xa zxid:0xce txntype:-1 reqpath:n/a Error Path:/hbase/online-snapshot/acquired Error:KeeperErrorCode = NodeExists for /hbase/online-snapshot/acquiredrn2017-06-14 17:39:01,483 INFO [ProcessThread(sid:0 cport:-1):] server.PrepRequestProcessor: Got user-level KeeperException when processing sessionid:0x15ca5f84cb00004 type:setData cxid:0x25 zxid:0xd4 txntype:-1 reqpath:n/a Error Path:/hbase/meta-region-server Error:KeeperErrorCode = NoNode for /hbase/meta-region-serverrn2017-06-14 17:39:01,973 INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.NIOServerCnxnFactory: Accepted socket connection from /192.168.0.102:41136rn2017-06-14 17:39:01,978 INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.ZooKeeperServer: Client attempting to establish new session at /192.168.0.102:41136rn2017-06-14 17:39:01,983 INFO [SyncThread:0] server.ZooKeeperServer: Established session 0x15ca5f84cb00006 with negotiated timeout 90000 for client /192.168.0.102:41136rn2017-06-14 17:39:02,427 INFO [ProcessThread(sid:0 cport:-1):] server.PrepRequestProcessor: Got user-level KeeperException when processing sessionid:0x15ca5f84cb00000 type:create cxid:0x46b zxid:0xe1 txntype:-1 reqpath:n/a Error Path:/hbase/namespace/default Error:KeeperErrorCode = NodeExists for /hbase/namespace/defaultrn2017-06-14 17:39:02,460 INFO [ProcessThread(sid:0 cport:-1):] server.PrepRequestProcessor: Got user-level KeeperException when processing sessionid:0x15ca5f84cb00000 type:create cxid:0x46e zxid:0xe3 txntype:-1 reqpath:n/a Error Path:/hbase/namespace/hbase Error:KeeperErrorCode = NodeExists for /hbase/namespace/hbasern2017-06-14 17:39:02,795 WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.NIOServerCnxn: caught end of stream exceptionrnEndOfStreamException: Unable to read additional data from client sessionid 0x15ca5f84cb00006, likely client has closed socketrn at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:228)rn at org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:208)rn at java.lang.Thread.run(Thread.java:745)rn2017-06-14 17:39:02,799 INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.NIOServerCnxn: Closed socket connection for client /192.168.0.102:41136 which had sessionid 0x15ca5f84cb00006rnrn百度了好久都解决不了这个问题,特来向论坛求教,如能解决,万分感谢!rnrn
android studio使用中遇到的问题
android studio使用中遇到的问题
Android Socket通信 发送心跳包 重连
最近项目中,有使用Socket与后端进行通信,然后简单的了解了下Socket使用,大致流程是配置服务端的Ip、端口号,连接,监听数据和发送数据,数据的读取和发送都是以流的形式实现的,然后自己将项目中的代码写了简单的管理类,测试下代码。下面是demo的两个界面,连接和发送接收界面   这里使用了一个Tcp调试助手,模拟服务端发送和接收数据,通讯模式选择TcpService ,本地端口随意...
连ACCESS遇到的问题
我的系统配置是Win2k pro + Access 2002,我在ODBC里已经添加了名为access_user的用户数据源也进行了配置,在SQL Explorer里也设置好了Datebase Name,在BCB5里TTable控件的DatabaseName也设置成了access_user,但Table Name属性里却空空如也,发现不了文件,这是为何?
android 开发中使用include的遇到的问题
小弟最近在写一个android小程序,在用到include的时候遇到这样一个问题:怎么能够能到指定id中的include中的控件比如:rn rn rn因为我在一个布局文件中引入了多个相同的另外一个布局文件,并且为每一个引入的布局设定了id,那么我怎么能够实现获取上面id为form1的include中的控件,并且在改变控件内容时候,保证id为form2的include中的控件内容、属性不变(注:include引入的是同一个布局文件)rn小弟迫切需要帮忙,希望各位牛人指点迷津,谢谢了。
Android中使用Spinner遇到的问题
Spinner的基本用法无须赘述,网上用法很多。 监听器就是OnItemSelectedListener这个 mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected( ...
Android中使用Socket上传图片遇到的问题?
使用Socket上传图片到服务端,之前用内网测过了不管图片大小都没有问题,后面切换到外网测试,发现只能上传小图片,大图片不能正确上传,只有经过压缩处理才能正确上传,但是现在需求又是上传大图原图,有什么方法可以解决?请问这是Android还是服务端的问题?有人遇到过这种问题吗?
Sharesdk 使用中遇到的问题 Android
1.微信分享一闪就没了,错误日志 errCode -6 ,是因为打包的keystore和微信中申请的时候的keystore不一样。 个别手机在签名正确时还会闪,清理用下微信的缓存,清理一下数据,或者重装微信。
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数