Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-09-2013, 16:09   #1
qwerty86
Senior Member
 
L'Avatar di qwerty86
 
Iscritto dal: Jun 2007
Messaggi: 1232
[JAVA+JPA] Problema con i thread

Salve a tutti,

Classe Server
Codice:
public class Server extends Thread
{
	private ServerSocket Server;
	
	public Server() throws Exception
	{
		Server = new ServerSocket(7004);
		System.out.println("Il Server è in attesa sulla porta 7004.");
		this.start();
	}
	
	public void run()
	{
		while(true)
		{
			try {
				System.out.println("In attesa di Connessione.");
				Socket client = Server.accept();
				System.out.println("Connessione accettata da: "+
						client.getInetAddress());
				
				Thread t = new Thread(new RequestManager(client));
				t.start();
			}
			catch(Exception e) {}
		}
	}
	
	public static void main(String argv[]) throws Exception
	{
		//Used for log4j properties
        System.setProperty("log.name","server");
		new Server();
	}
}
Classe RequestManager
Codice:
class RequestManager implements Runnable
{
	final Logger logger = LoggerFactory.getLogger(RequestManager.class.getCanonicalName());

	final static String IMEI = "IMEI";
	final static String DATA = "DATA";
	final static String TIME = "TIME";
	final static String QUIT = "QUIT";
	
	private Socket client = null;
	BufferedReader in = null;
	PrintStream out = null;

	private EntityManager entityManager;

	public RequestManager() {}
	public RequestManager(Socket clientSocket)
	{
		client = clientSocket;
		try
		{
			in = new BufferedReader(
					new InputStreamReader(client.getInputStream()));
			out = new PrintStream(client.getOutputStream(), true);
			
			entityManager = Persistence.createEntityManagerFactory("SensorPersistence").createEntityManager();
		}
		catch(Exception e1)
		{
			try { client.close(); }
			catch(Exception e) { System.out.println(e.getMessage());}
			return;
		}
		//this.start();
	}
	public void run()
	{
              MeasurementsManager mm = new      MeasurementsManager(entityManager);

					
					Measurement meas = new Measurement();
//setto i vari valori
					mm.add(meas);
         }
Classe MeasurementsManager
Codice:
public class MeasurementsManager implements Manager<Measurement>
{

	private EntityManager em;

	public MeasurementsManager() {
		

	}
	public MeasurementsManager(EntityManager em) {
		//super();
		this.em = em;

	}

	@Override
	public boolean add(Measurement entity) {

		//EntityManager em = Persistence.createEntityManagerFactory("SensorPersistence").createEntityManager();
		try {
			EntityTransaction t = em.getTransaction();
			try {
				t.begin();  
				
				em.persist(entity);
				
				t.commit();
			} finally {
				if (t.isActive()) t.rollback();
			}
		} finally {
			//em.close();
		}
		return true;
		
	}

	@Override
	public boolean delete(Measurement entity) {
		em.getTransaction().begin();

		Query query = em.createQuery(
				"DELETE FROM Student s WHERE s.id = ?1");
		int deletedCount = query.setParameter(1, entity.getMeaId()).executeUpdate();

		em.getTransaction().commit();
		return deletedCount > 0;
	}

	@Override
	public List<Measurement> getAll() {
		TypedQuery<Measurement> query = em.createNamedQuery("Measurement.findAll", Measurement.class);
		return query.getResultList();
	}



}
Il tutto funziona, riuscendo a memorizzare i dati nel DB, il problema è che se eseguo 10 thread (client) che inviano i dati, nel db restano attive le connessioni. Questo comporta che dopo un po' le connessioni al db raggiungono il limite. Le connessioni vengono chiuse correttamente solo se termino il thread principale e cioè Server. Qualcuno sa aiutarmi? Grazie.
__________________
Cpu: Amd 64 X2 5200+ - Mobo:M2N32SLI DELUXE - Ram: Corsair xms2 800 mhz kit 4gb - SK Video: Gaiward GTS250 - Ali : Enermax Liberty 500 Wat - Mast DVD: 2 Nec AD-5170A - Case : Thermaltake Armor+ - Dissipatore: Thermaltake V1 Notebook: Sony Vaio VGN-Fe21M-Pda: Htc Diamond |Il mio sito|Flickr| Stanco del solito forum? Vieni a parlare di fotografia su Fotoni
qwerty86 è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2013, 18:04   #2
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Di close() sull'EntityManager non ne fai? Ne vedo solo una commentata.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 23-09-2013, 09:06   #3
qwerty86
Senior Member
 
L'Avatar di qwerty86
 
Iscritto dal: Jun 2007
Messaggi: 1232
Quote:
Originariamente inviato da ndakota Guarda i messaggi
Di close() sull'EntityManager non ne fai? Ne vedo solo una commentata.
Si scusa, la faccio nel metodo run, dopo aver fatto tutte le operazioni. Ma nulla!
__________________
Cpu: Amd 64 X2 5200+ - Mobo:M2N32SLI DELUXE - Ram: Corsair xms2 800 mhz kit 4gb - SK Video: Gaiward GTS250 - Ali : Enermax Liberty 500 Wat - Mast DVD: 2 Nec AD-5170A - Case : Thermaltake Armor+ - Dissipatore: Thermaltake V1 Notebook: Sony Vaio VGN-Fe21M-Pda: Htc Diamond |Il mio sito|Flickr| Stanco del solito forum? Vieni a parlare di fotografia su Fotoni
qwerty86 è offline   Rispondi citando il messaggio o parte di esso
Old 23-09-2013, 21:25   #4
qwerty86
Senior Member
 
L'Avatar di qwerty86
 
Iscritto dal: Jun 2007
Messaggi: 1232
Grazie all'aiuto dell'utente mone.java ho risolto. Il problema era che non invocavo la colse sul'Entity Manager Factory.
__________________
Cpu: Amd 64 X2 5200+ - Mobo:M2N32SLI DELUXE - Ram: Corsair xms2 800 mhz kit 4gb - SK Video: Gaiward GTS250 - Ali : Enermax Liberty 500 Wat - Mast DVD: 2 Nec AD-5170A - Case : Thermaltake Armor+ - Dissipatore: Thermaltake V1 Notebook: Sony Vaio VGN-Fe21M-Pda: Htc Diamond |Il mio sito|Flickr| Stanco del solito forum? Vieni a parlare di fotografia su Fotoni
qwerty86 è offline   Rispondi citando il messaggio o parte di esso
Old 23-09-2013, 23:16   #5
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Già, volevo dirtelo anche io
ndakota è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Lenovo annuncia nuovi sistemi per la vir...
M6 e M5 Ultra, i primi benchmark conferm...
La nuova falla della cybersecurity &egra...
The Blood of Dawnwalker, il sequel potre...
Colpiti i data center Amazon: irrecupera...
Google Wallet, nuova interfaccia in arri...
iPhone Duo, problemi di produzione per i...
Firefox diventa più veloce con PDF e JPE...
WhatsApp, arriva su iOS la nuova scorcia...
Snap presenta Specs: realtà aumentata, c...
SteamOS verso un cambiamento epocale: ar...
Recensione HUAWEI FreeBuds Neo, piccoli ...
TSMC aumenta i costi di produzione: AMD ...
L'Europa sfida i magnati dei combustibil...
One UI 9 arriva sui Galaxy S26: pi&ugrav...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:44.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v