Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package org.foi.nwtis.brukrneti.web.dretve;
- import com.mysql.jdbc.Connection;
- import java.sql.DriverManager;
- import java.sql.SQLException;
- import java.util.Properties;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javax.mail.Folder;
- import javax.mail.Message;
- import javax.mail.MessagingException;
- import javax.mail.Session;
- import javax.mail.Store;
- import javax.servlet.ServletContext;
- import org.foi.nwtis.brukrneti.konfiguracije.Konfiguracija;
- import org.foi.nwtis.brukrneti.web.slusaci.SlusacAplikacije;
- /**
- *
- * @author grupa_1
- */
- public class ObradaPoruka extends Thread {
- private boolean kraj = false;
- private int spavanje;
- private String posluzitelj;
- private String korisnickoIme;
- private String lozinka;
- public ObradaPoruka() {
- }
- @Override
- public void interrupt() {
- kraj = true;
- super.interrupt();
- }
- @Override
- public void run() {
- int broj=0;
- while (!kraj) {
- try {
- String defaultFrom;
- Session session;
- Store store;
- Folder folder;
- // Start the session
- Properties properties = System.getProperties();
- properties.put("mail.smtp.host", posluzitelj);
- session = Session.getInstance(properties, null);
- // Connect to the store
- store = session.getStore("imap");
- store.connect(posluzitelj, korisnickoIme, lozinka);
- // Open the INBOX folder
- folder = store.getFolder("INBOX");
- folder.open(Folder.READ_ONLY);
- Message[] messages = null;
- //TODO ne dohvatiti sve poruke odjednom nego po grupama
- messages = folder.getMessages();
- // Print each message
- for (int i = 0; i < messages.length; ++i) {
- //TODO pretrazi tzv. NWTiS poruke i s njima obavi potrebne radnje
- }
- folder.close(false);
- store.close();
- System.out.println("Gotova obrada: " + broj++);
- sleep(spavanje*1000);
- } catch (InterruptedException | MessagingException ex) {
- Logger.getLogger(ObradaPoruka.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- }
- @Override
- public synchronized void start() {
- ServletContext sc = SlusacAplikacije.servletContext;
- Konfiguracija k = (Konfiguracija) sc.getAttribute("Mail_config");
- spavanje = Integer.parseInt(k.dajPostavku("mail.timeSecThreadCycle"));
- posluzitelj = k.dajPostavku("mail.server");
- korisnickoIme = k.dajPostavku("mail.usernameThread");
- lozinka = k.dajPostavku("mail.passwordThread");
- dbConnection();
- super.start();
- }
- /**
- * Metoda za spajanje na bazu
- */
- private void dbConnection () {
- ServletContext sc = SlusacAplikacije.servletContext;
- Konfiguracija k = (Konfiguracija) sc.getAttribute("Mail_config");
- String url = k.dajPostavku("server.database") + k.dajPostavku("user.database");
- String dbUser = k.dajPostavku("user.username");
- String dbPassword = k.dajPostavku("user.password");
- try {
- Connection con = (Connection) DriverManager.getConnection(url, dbUser, dbPassword);
- } catch (SQLException ex) {
- Logger.getLogger(ObradaPoruka.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement