我们系统有个定时给客户发邮件功能,1、库里有个标志,标志为完成。
2、服务器安装了6个tomcat,但同一个邮件每次给客户发6次,也就是同一邮件客户同时收到6封。
哪位高手有好办法,同一个邮件不重发,只发一次。

解决方案 »

  1.   

    服务器安装了6个tomcat,什么意思,没听过用tomcat去集成的
    lz能说明白点吗?
      

  2.   

    怎么会装了6格Tomcat啊?不明白!
      

  3.   

    是根据数据库里的用户来发?
    可以考虑给表增加一个字段,可以保存上一次发送时间,如果今天已经发过了就不发(如果一天只发一封的话)。
    如果邮件时要先插入一张表然后在群发的话,可以在新增的字段里保存上一次发送的邮件的ID,如果和此次欲发送的邮件ID相同,则不用再发。
    ================================================================================================================
    服务器安装了6个tomcat
    =================================
    这种情况不了解,所以只提了两个简单的建议,不一定适应你的情况
      

  4.   

    服务器安装了6个tomcat !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    哎呀妈呀,这咋回事儿呀????小弟不才,不明白呀.....说清楚点吧..~!~
      

  5.   

    就想学习学习一台机子怎么装6个TomCat啊?你环境变量怎么配啊?
    而且服务是怎么添加的?
    不会是在TomCat配置文件里修改注册服务名、端口号等等,然后对应每个服务再配置相应的环境变量吧~~~
      

  6.   

    tomcat的服务只能有一个吧,怎么安装上6个呢?
      

  7.   

    很容易实现,我也写过一个email发送的程序。
    1、从数据库取数据的逻辑写为一个单例模式的仓库类,启动一个线程不停的加载数据库的数据,加载之后放入一个容器中,可以是HashMap之类。如果没有数据就sleep一段时间。
    2、该仓库类对外提供一个获取待处理数据的方法,该方法加上线程同步关键字,即同一时刻只允许一个线程访问。该方法的功能为从容器中取出1条数据返回并从容器中删除该条数据。
    3、如果我没理解错的话,你6个tomcat都部署了同一个发送email的程序,该程序通过数据仓库获得数据进行处理发送email,这样就可以保证数据库中一条数据只会被一个处理程序处理了。