我正在编写一个应用程序,用户可以添加和删除其他用户作为朋友.
我的页面有一个不同的用户列表,每个用户都有一个按钮,将它们添加到朋友列表中.
我发送一个 AJAX请求给 Java servlet,将所选用户添加为朋友.
我在UI上显示警告信息以显示进程的结果.
我的页面有一个不同的用户列表,每个用户都有一个按钮,将它们添加到朋友列表中.
我发送一个 AJAX请求给 Java servlet,将所选用户添加为朋友.
我在UI上显示警告信息以显示进程的结果.
我的问题是,当用户被添加为朋友时,我必须发送一个邮件,该代码使用相同的方法写在servlet中.
因为这段代码,我的警报消息很晚.
我需要运行一个单独的pthread来运行这个发送邮件功能,以便一旦添加了用户,我将得到结果,邮件将被单独发送.
我在Servlet中的代码是
private void sendMail(long inviteeID) { User inviteeUser = null; try { inviteeUser = userHandler.getUser(inviteeID); } catch (DataException e) { sLog.error("User does not exist.",e); } catch (UserNotFoundException e) { sLog.error("User does not exist.",e); } MailUtility.send(inviteeUser.getUserEmailAddress().trim(),"vagarwal@q3tech.com","add friend message",Utility .getAddFriendMessageBody(LoginHelper .getLoggedInUserEmail()),false); } private String inviteAsFriend(long inviteeID) { boolean result = false; if (LoginHelper.isUserLoggedIn()) { try { User user = userHandler.findUserByEmail(LoginHelper .getLoggedInUserEmail()); if (userHandler.isUserFriend(user.getUserId(),inviteeID)) { if (userHandler.addFriend(user,inviteeID)) { result = true; return "Member added successfully as your friend."; } else { return "Member could not be added as your friend. Please try again later."; } } else { return "Member is already your friend."; } } catch (DataException e) { return "User does not exist."; } catch (UserNotFoundException e) { return "User does not exist."; } catch (Exception e) { return "Member could not be added as your friend. Please try again later."; } finally { if (result) { sendMail(inviteeID); } } } else { return "User not logged in."; } }
解决方法
我不知道这是什么问题.发送电子邮件不是那么昂贵的操作 – 它只是通知SMTP服务器邮件应该被发送,并且SMTP服务器从那里照顾.
不过,您可以尝试:
new Thread(new Runnable() { public void run() { MailUtility.send(inviteeUser.getUserEmailAddress().trim(),false); } }).start();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。