小编Tus*_*nda的帖子

Timer正在创建多个计时器实例

这是一个真正简单的问题,我想但是我无法弄清楚为什么会发生这种情况.我有一个EJB计时器的实现,它使用@Singleton注释,即单例计时器.

我每隔5分钟就开始运行一次.代码看起来像这样:

@Singleton
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public class Scheduler {
    private static final double timerVar = Math.random() * 33;

    static Logger logger = Logger.getLogger("Scheduler");

    @Schedule(second = "*", minute = "*/5", hour = "*", persistent = true)
    public void doWork() {
        logger.log(Level.INFO, "timer value for this session : " + timerVar);
    } 
}
Run Code Online (Sandbox Code Playgroud)

当进程运行时,它在1秒的间隙中同时执行10个调度程序实例

(EJB default - 1)
(EJB default - 2)
(EJB default - 3)
(EJB default - 4)
Run Code Online (Sandbox Code Playgroud)

等等.当我在代码中放置一个冗长的操作时,它(EJB default - 1)是不完整的,当(EJB default - 2)尝试执行它时会给我一个错误说:

JBAS014373:EJB 3.1 …

java jboss java-ee ejb-3.0 ejb-timer

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

如何在莲花笔记中找到最近修改过的文件5

我想要做的是通过莲花笔记5阅读并将所有文档导出到当地的modeshape存储库,但是一旦我读完了所有的百万条记录/文档,这个过程开始读取莲花笔记中的第一条记录,但我不知道不想那样.我只需要阅读莲花笔记中最近修改过的文档.

我的函数看起来像这样:

public void run() {
    logger.log(Level.INFO, "entering run");
    try {
        String pathToFolder = "";
        s = NotesFactory.createSession(host, "username", "password");
        Database db = s.getDatabase("", nsffilename);
        if (!db.isOpen()) {
            db.open();
        }
        DocumentCollection docCol = db.getAllDocuments();
        Document doc = docCol.getFirstDocument();
        while (doc != null) {
            doc = docCol.getNextDocument();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我在网上发现了一些代码:http: //www-12.lotus.com/ldd/doc/domino_notes/7.0/help7_designer.nsf/f4b82fbb75e942a6852566ac0037f284/c698b5888603d5cd8525704a00417105?OpenDocument

但这仅适用于8岁及以上的莲花笔记.但是我被莲花笔记困住了5.请告诉我是否有一些方法可以在莲花笔记中获得最近修改过的文件5.

java lotus-notes

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

从邮箱发送邮件不会保存在已发送的邮件中

我正在使用EWS读取邮箱"test@comp.com"并提供服务帐户凭据以登录交换机.该服务帐户有权访问test@comp.com,甚至可以从中发送邮件.但是当我尝试使用以下代码发送邮件时:

private static void sendMailviaEWS(String to, String from, String subject,
        String body, List<String> attname, ExchangeService service) {

    try 
    {

        EmailMessage replymessage = new EmailMessage(service);
        replymessage.setSender(new EmailAddress(from));

        EmailAddress fromEmailAddress = new EmailAddress(from);
        replymessage.setFrom(fromEmailAddress);
        replymessage.getToRecipients().add(to);
        //replymessage.setInReplyTo(recipients);
        replymessage.setSubject(subject);
        replymessage.setBody(new MessageBody(body));
        replymessage.sendAndSaveCopy(WellKnownFolderName.SentItems);

    }catch (Exception e)
    {
       e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

我没有看到邮件从test@comp.com发送到我的地址是我的,我提供的地址是test@comp.com的地址

发送的邮件总是在我用于登录交换服务器的服务帐户的已发送邮件文件夹中结束.

有没有办法实现我想要的?

java email exchangewebservices

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