⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uploadnewstask.java

📁 Oracle的J2EE Sample
💻 JAVA
字号:
/*
 * @author  : Elangovan
 * @version : 1.0
 *
 * Development Environment : Oracle9i JDeveloper
 * Name of the File        : UploadNewsTask.java
 *
 * Creation / Modification History
 *    Elangovan           26-Apr-2002        Created
 *
 */
package oracle.otnsamples.ibfbs.admin.helper;

import java.util.Collection;
import java.util.Date;
import java.util.TimerTask;

import javax.naming.InitialContext;

import oracle.otnsamples.ibfbs.admin.ejb.MailService;
import oracle.otnsamples.ibfbs.admin.ejb.MailServiceHome;

import oracle.otnsamples.ibfbs.usermanagement.helper.NewsHelper;

import oracle.otnsamples.ibfbs.utils.ConnectionParams;
import oracle.otnsamples.ibfbs.admin.exception.WebServiceAccessException;

/**
 * This class, access web services through the WebServiceHelper class and
 * populates the database with the latest market news.
 *
 * @see oracle.otnsamples.ibfbs.usermanagement.helper.NewsHelper.java
 * @see AdminHelper.java
 * @see java.util.Timer
 * @see java.util.TimerTask
 */
public class UploadNewsTask extends TimerTask {

  /**
   * This method accesses the latest news from the WebServicesHelper class and
   * populates the datasource with the latest news.
   *
   */
  public void run() {

    int status = 0;
    try {

      // Initialize helper classes
      WebServicesHelper wshelper   = new WebServicesHelper();
      StockSymbolHelper sshelper   = new StockSymbolHelper();
      NewsHelper        newsHelper = new NewsHelper();

      //  Get the complete list of symbols
      Collection symbols = sshelper.getAllSymbols();

      // Populate news into datasource
      newsHelper.loadNews(wshelper.fetchLatestNews(symbols, 3));

    } catch (WebServiceAccessException we) {  // WebService access error
      System.err.println(" Error accessing web service :" + we.toString());

      status = -1;
    } catch (Exception ex) {                  // Generic error
      System.err.println(" Generic Exception while  " + "uploading News  :\n"
                         + ex.toString());

      status = -1;
      
    } finally {
      // Send upload status to Admin
      sendUploadStatus(status);
    }
    
  }

  /**
   * This methods sends the upload status to the Admin.
   * 
   * @param status status of upload
   */
  private void sendUploadStatus(int status) {

    MailService mailService = null;
    try {
      InitialContext ic = new InitialContext();
      // Initialize the MailSender
      MailServiceHome mailServiceHome = (MailServiceHome) ic.lookup("MailService");
      mailService = mailServiceHome.create();

      mailService.sendMail(ConnectionParams.notificationMailId,
                           "uploadtask@fbs.com", " Upload News Status",
                           getMsg(status));
    } catch (Exception ex) {
      System.err.println(
             " Couldn't initialize mail service to send upload status :"+
             ex.toString());
    }
  }

  /**
   * This methods generates the status message for Admin.
   *
   * @param status status of upload
   * @return Mail body corresponding to the given status
   * @since 1.0
   */
  private String getMsg(int status) {

    StringBuffer sb           = new StringBuffer();
    String       uploadStatus = (status == 0)
                                ? " Upload Success "
                                : "Upload Failed";
    sb.append(" Hi Admin,<br><br> ")
      .append("    The Status of  News Upload Task : <b><u>")
      .append(uploadStatus)
      .append(" </u></b><br><br>")
      .append("  <br><br> Upload Time : ")
      .append(new Date())
      .append("<br><br>")
      .append(" --Upload Task. ");

    return sb.toString();
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -