问题列表 - 第38911页

JavaMail:保持IMAPFolder.idle()活着

我正在制作一个需要监控Gmail帐户以查找新邮件的程序,为了尽快获取它们,我正在使用JavaMail的空闲功能.这是我用来调用folder.idle()的线程的代码片段:

//Run method that waits for idle input. If an exception occurs, end the thread's life.
public void run() {

    IMAPFolder folder = null;

            try {
                folder = getFolder();
                while(true)
                {
                  //If connection has been lost, attempt to restore it
                  if (!folder.isOpen())
                      folder = getFolder();
                  //Wait until something happens in inbox
                  folder.idle(true);
                  //Notify controller of event
                  cont.inboxEventOccured();
                }
            }
            catch (Exception ex) {
                ex.printStackTrace();
            }
             System.out.println("MailIdleWaiter thread ending.");
}
Run Code Online (Sandbox Code Playgroud)

getFolder()方法基本上打开与IMAP服务器的连接并打开收件箱.

这有效一段时间,但在10分钟左右后它就会停止获取更新(不会抛出任何异常).

我正在寻找保持连接活着的建议.我是否需要第二个线程,其唯一的作用是睡眠并每10分钟更新一次idle()线程,还是有更简单/更好的方法?

提前致谢.

java imap jakarta-mail

14
推荐指数
4
解决办法
2万
查看次数

WPF DataGrid v 快,分组 v 慢。如何在不使用分组的情况下显示组行

我有一个 WPF DataGrid,它显示具有 60 多列和多达 10000 行的任何数据集。DataGrid 可以非常快速地加载完整的数据集并很好地处理它们。

colA colB colC colD colE ... 

 1    2     3    4    5  
 5    6     7    8    9
 2    3     4    3    4  
 1    2     3    4    5  
 5    6     7    8    9
 2    3     4    3    4   
Run Code Online (Sandbox Code Playgroud)

然而,行被分成组。我需要显示一个文本字符串的组标题,并能够展开/折叠组。

我可以对 DataGrid 使用分组,它看起来不错,但最初显示大组的速度非常慢

 colA colB colC colD colE ... 
^ group title A
  1    2     3    4    5  
  5    6     7    8    9
  2    3     4    3 …
Run Code Online (Sandbox Code Playgroud)

wpf grouping datagrid

8
推荐指数
2
解决办法
4617
查看次数

使用另一个命名空间中的typedef进行ADL

我有这样的事情:

#include <iostream>
namespace N
{
   typedef std::pair<int, double> MyPair;
   std::ostream& operator << (std::ostream& o, MyPair const & mypair)
   {
      ///
   }
}

int main()
{
    N::MyPair pr;
    std::cout << pr;
}
Run Code Online (Sandbox Code Playgroud)

这自然不起作用,因为ADL找不到operator<<因为namespace NMyPair(不幸)相关联.Afaik可能不会添加到命名空间std,所以如果我选择operator <<在std中定义那将是非法的.那么......在这种情况下该怎么办?我不想明确限定operator <<,也不想写using namespace N.所以,问题是:

  1. 如何重构代码?
  2. 为什么ADL不会关联typedef的名称空间?严重的原因?这会很好,例如在这种情况下.谢谢

c++ typedef argument-dependent-lookup

15
推荐指数
1
解决办法
1596
查看次数

Log4j - 仅过滤当前项目的日志

log4j.properties文件,记录超出我的预期,特别是它记录Spring库的事件.
并且只需要过滤项目特定事件.

它是一些过滤参数,指定应记录哪些类(项目或命名空间)?

谢谢.

java filtering log4j

4
推荐指数
1
解决办法
3983
查看次数

/ proc/<pid>状态SigIGN字段

是否有任何URL我可以获得有关/ proc // status的一些信息.特别是以下字段.

SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000000
SigCgt: 0000000000000000
Run Code Online (Sandbox Code Playgroud)

或者有人可以给它一些指针吗?

linux

8
推荐指数
1
解决办法
4522
查看次数

需要一种存储Name值对的好方法

我经常遇到一种我希望拥有一组键/值对的情况.这是一个伪代码的想法:

DataSet MyRequestStatus
{
  Accepted = "ACC",
  Rejected = "REJ"
}
Run Code Online (Sandbox Code Playgroud)

用法:

InsertIntoTable(MyRequestStatus.Accepted.ToString())
Run Code Online (Sandbox Code Playgroud)

我希望能够使用友好的"MyRequestStatus.Accepted",但我希望ToString()返回神秘的"ACC",而不是"接受".奖励点,隐式转换而不是必须调用ToString().

我没有找到一种明显的方法来实现这一点与Enums.你有什么建议?

c#

3
推荐指数
1
解决办法
583
查看次数

在元素jquery之后插入

从jquery如何插入o

   <tr><td>some other data</td></tr>
Run Code Online (Sandbox Code Playgroud)

在tr id = user之后

<table>
<tr id="user">
 <td>some data</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

jquery jquery-selectors

1
推荐指数
1
解决办法
4410
查看次数

切换语句没有中断

为什么switch语句中不包含break的case选项会在没有check的情况下自动转发到下一个case?

try {
    switch($param) {
        case "created":
            if(!($value instanceof \DateTime))
                throw new \Exception("\DateTime expected, ".gettype($value)." given for self::$param");
        case "Creator":
            if(!($value instanceof \Base\User)) {
                throw new \Exception(get_class($value)." given. \Base\User expected for self::\$Creator");                  
            }
        default:
            $this->$param = $value;
            break;
    }
} catch(Exception $e) {
    echo $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)

如果param是"创建的",它将在创建的案例中进行检查,这很好.当检查成功时,我希望代码继续使用默认选项,这就是没有中断的原因; 但相反,它继续"创造者"而$ param!="创造者"!

我知道如何解决这个问题(只是在我的情况下"创建"添加默认代码),但我不喜欢经常重复该代码.我的实际问题是:为什么在案例不是"创作者"的情况下继续使用"创作者"案例.

php switch-statement

8
推荐指数
1
解决办法
1万
查看次数

写入文本文件而不覆盖它

我正在用C++进行重力的数值模拟,我想在每次计算一个步骤时备份我的结果.

但是,我现在这样做,程序总是覆盖文件.我想我总是可以通过将文本保存在不同的文件或变量中来解决问题,但我想知道是否有更简单的方法来打开文本文件以便我不会覆盖它.

我目前的"备份代码"如下所示:

fstream log;
log.open ("log.txt");
if (log.is_open())
{...
  ...
  log.close();
}
Run Code Online (Sandbox Code Playgroud)

c++ numerical textinput

2
推荐指数
2
解决办法
3万
查看次数

在单个服务器中运行多个MongoDB分片是否有任何好处/陷阱?

我目前正在运行传统的MySQL Master/Slave设置,大约有90GB的数据.我们的应用程序的流量正在迅速增加,而且这种设置已经显示出放缓的迹象.我非常想尝试MongoDB,我对自动分片功能特别兴奋.

但是,我目前只有2个(专用)数据库服务器供我使用,其中一个必须用于复制.所以这是我的问题:

如果我在同一台服务器中运行多个MongoDB实例作为分片,我是否真的会获得更小的分片数据集的好处?或者这会因为负载/内存需求增加而导致性能上升?

mongodb

5
推荐指数
1
解决办法
2342
查看次数