Connection factories e destinazioni: sono oggetti amministrati da JNDI.
|
|
- Raffaello Napolitano
- 7 anni fa
- Visualizzazioni
Transcript
1 1 JMS Gli elementi fondamentali di un applicazione JMS sono: Connection factories e destinazioni: sono oggetti amministrati da JNDI. Connection Factories: sono oggetti che il client usa per creare connessioni con il provider che incapsulano un inseme di parametri per la connessione. Ogni connection factory è un istanza di QueueConnectionFactory o TopicConnectionFactory. Questi nomi sono anche quelli utilizzati di default da J2EE. Per creare delle nuove connection factory da J2EE: j2eeadmin -addjmsfactory MiaQFactory queue j2eeadmin -addjmsfactory MiaTFactory topic Quando un client vuole ottenere una connection factory: Context ctx = new I n i t i a l C o n t e x t ( ) ; QueueConnectionFactory queueconnectionfactory =( QueueConnectionFactory ) c t x. lookup ( QueueConnectionFactory ) ; TopicConnectionFactory topicconnectionfactory =(TopicConnectionFactory ) ctx. lookup ( TopicConnectionFactory ) ; Destinazioni: sono oggetti sche il client usa come destinazioni o sorgenti di messaggi. Nel dominio P2P le destinazioni sono chiamate queue, mentre nel dominio publish/subscribe sono chiamate topic. Per creare delle nuove destinazioni da J2EE: j2eeadmin -addjmsdestination MiaQueue queue j2eeadmin -addjmsdestination MioTopic topic In JBOSS: <?xml version= 1. 0 encoding= UTF 8?> <s e r v e r> <mbean code= org. j b o s s.mq. s e r v e r. jmx. Queue name= j b o s s.mq. d e s t i n a t i o n : s e r v i c e=queue, name=myqueue > <depends o p t i o n a l a t t r i b u t e name= DestinationManager >j b o s s. m q : s e r v i c e= DestinationManager</ depends> </mbean> </ s e r v e r> Per ottenere delle destinazioni: Topic mytopic = ( Topic ) ctx. lookup ( MyTopic ) ; Queue myqueue = ( Queue ) ctx. lookup ( MyQueue ) ; Connessioni: sono connessioni virtuali con un provider JMS. Per ottenere delle connesioni a partire da connection factory in precedenza istanziate: QueueConnection queueconnection = queueconnectionfactory. createqueueconnection ( ) ; TopicConnection topicconnection = topicconnectionfactory. createtopicconnection ( ) ; Per poter iniziare a consumare messaggi bisogna chiamare il metodo start sulla connessione, il metodo stop invece disabilita temporaneamente la consegna di messaggi senza chiudere la connessione.per chiudere completamente la connessione bisogna invocare il suo metodo close(). Sessioni: sono contesti nei quali si possono produrre e consumare messaggi. Vengono usate per creare produttori, consumatori e messaggi. 1
2 T opicsession t o p i c S e s s i o n = topicconnection. c r e a t e T o p i c S e s s i o n ( false, S e s s i o n. AUTO ACKNOWLEDGE) ; QueueSession queuesession = queueconnection. createqueuesession ( true, 0) ; Nel caso della topicsession di cui sopra false indica che la sessione non è transazionale mentre Session.AUTO ACKNOWLEDGE significa che la sessione notifica automaticamente i messaggi che sono stati ricevuti con successo. Produttori: sono oggetti creati dalla sessione e servono ad inviare messaggi. QueueSender queuesender = queuesession. c r e a t e S e n d e r (myqueue) ; TopicPublisher t o p i c P u b l i s h e r = t o p i c S e s s i o n. c r e a t e P u b l i s h e r ( mytopic ) ; I messaggi vengono inviati tramite il metodo send o publish: queuesender. send ( message ) ; t o p i c P u b l i s h e r. p u b l i s h ( message ) ; Consumatori: sono oggetti creati dalla sessione e servono a ricevere messaggi. QueueReceiver queuereceiver = queuesession. c r e a t e R e c e i v e r (myqueue) ; TopicSubscriber t o p i c S u b s c r i b e r =t o p i c S e s s i o n. c r e a t e S u b s c r i b e r ( mytopic ) ; Una volta creato il consumatore, questo diventa attivo cioè pronto a ricevere messaggi, per renderlo inattivo bisogna chiamare il metodo close(). La consegnadi messaggi comunque non inizia finchè non viene chiamato il metodo start sulla connessione. Si può usare poi il metodo receive() per consumare i messaggi in modalità sincrona (sempre dopo aver invocato start sulla connessione). Invece per consumare i messaggi in modalità asincrona si usa un message listener. Message listener: è un oggetto che si comporta come un gestore di eventi asincroni. Implementa l interfaccia MessageListener che contiene un metodo, onmessage. Nell implementazione di tale metodo viene specificato il comportamento alla ricezione del messaggio. Il consumatore si registra al listener di interesse: T o p i c L i s t e n e r t o p i c L i s t e n e r = new T o p i c L i s t e n e r ( ) ; t o p i c S u b s c r i b e r. s e t M e s s a g e L i s t e n e r ( t o p i c L i s t e n e r ) ; Messaggi: Un messaggio è composto da: Header: ogni campo dello header ha i metodi set e get. Alcuni campi devono essere settati esplicitamente ma la maggior parte di essi viene settata automaticamente dai metodi send o publish (e in questi casi gli eventuali campi già settati manualmente vengono sovrascritti). Properties (opzionali) Body (opzionale): ci sono 5 tipi divers di body: TextMessage: messaggio testuale MapMessage: coppie nome/valore in cui il noe è una stringa ed il valore è un tipo primitivo di java. ByteMessage: uno strem di bytes StreamMessage: uno stream di valori primitivi di java ObjectMessage: un oggetto di tipo serializzabile Message: costituito dai soli campi header e properties 2
3 Per creare un messaggio di tipo testuale: TextMessage message = queuesession. createtextmessage ( ) ; message. settext ( msg text ) ; // m s g t e x t è d i t i p o S t r i n g queuesender. send ( message ) ; Quando il messaggio viene consumato esso arriva come messaggio generico (di tipo Message) e quindi deve essere fatto il cast al tipo appropriato. Message m = queuereceiver. r e c e i v e ( ) ; i f (m instanceof TextMessage ) TextMessage message = ( TextMessage ) m; System. out. p r i n t l n ( Reading message : + message. gettext ( ) ) ; else // G e s t i s c i l e r r o r e 1.1 Esempio MDB Un semplice esempio di Message Driven Bean che utilizza una coda per ricevere messaggi. import javax. e j b. MessageDrivenBean ; import javax. e j b. MessageDrivenContext ; import javax. jms. Message ; import javax. jms. MessageListener ; import javax. jms. TextMessage ; Listing 1: FirstMDB.java public class FirstMDB implements MessageDrivenBean, MessageListener public void ejbcreate ( ) System. out. p r i n t l n ( Creo l MDB ) ; public void setmessagedrivencontext ( MessageDrivenContext c x t ) System. out. p r i n t l n ( Setto i l c o n t e s t o ) ; public void ejbremove ( ) System. out. p r i n t l n ( Rimuovo l MDB ) ; public void onmessage ( Message msg ) System. out. p r i n t l n ( Ricevuto un messaggio ) ; S t r i n g t e x t = null ; i f ( msg instanceof TextMessage ) try t e x t = ( ( TextMessage ) msg ). gettext ( ) ; System. out. p r i n t l n ( +t e x t ) ; catch ( Exception ex ) ex. printstacktrace ( ) ; else System. out. p r i n t l n ( non è un messaggio t e s t u a l e! ) ; 3
4 Listing 2: MDBClient.java public class MDBClient public s t a t i c void main ( S t r i n g arg [ ] ) try / S o l u z i o n e 1 : In a l t e r n a t i v a a l j n d i. p r o p e r t i e s / / j a v a. u t i l. P r o p e r t i e s prop = new j a v a. u t i l. P r o p e r t i e s ( ) ; prop. put ( Context.INITIAL CONTEXT FACTORY, org. jnp. i n t e r f a c e s. NamingContextFactory ) ; prop. put ( Context.URL PKG PREFIXES, org. jnp. i n t e r f a c e s ) ; prop. put ( Context.PROVIDER URL, l o c a l h o s t ) ; Context c o n t e x t = new I n i t i a l C o n t e x t ( prop ) ; / / S o l u z i o n e 1 / / S o l u z i o n e 2 : Contesto preso d a l f i l e j n d i. p r o p e r t i e s / Context context = new I n i t i a l C o n t e x t ( ) ; / S o l u z i o n e 2 / // Look up d e l l a connection f a c t o r y ( QueueConnectionFactory è q u e l l a d i d e f a u l t per JBOSS) QueueConnectionFactory queuefactory =( QueueConnectionFactory ) c o n t e x t. lookup ( QueueConnectionFactory ) ; // Crea una connessione con i l JMS p r o v i d e r QueueConnection queueconnection = queuefactory. createqueueconnection ( ) ; // Crea una s e s s i o n e QueueSession s e s s i o n = queueconnection. createqueuesession ( false, S e s s i o n.auto ACKNOWLEDGE) ; // Lookup d e l l a coda d i d e s t i n a z i o n e su c u i p u b b l i c a r e Queue queue = ( Queue ) context. lookup ( queue / f i r s t Q u e u e ) ; // Crea un p r o d u t t o r e QueueSender queuesender = s e s s i o n. c r e a t e S e n d e r ( queue ) ; // Crea un messaggio d i t e s t o TextMessage message = s e s s i o n. createtextmessage ( ) ; message. settext ( H e l l o World! ) ; // I n v i a i l messaggio queuesender. send ( message ) ; // Chiude l a connessione queueconnection. c l o s e ( ) ; catch ( Exception e ) e. printstacktrace ( ) ; Listing 3: jndi.properties java. naming. f a c t o r y. i n i t i a l=org. jnp. i n t e r f a c e s. NamingContextFactory java. naming. p r o v i d e r. u r l=jnp : // l o c a l h o s t :1099 java. naming. f a c t o r y. u r l. pkgs=org. j b o s s. naming : org. jnp. i n t e r f a c e s <?xml version= 1. 0 Listing 4: META-INF/ejb-jar.xml encoding= UTF 8?> <!DOCTYPE ejb j a r PUBLIC //Sun Microsystems, Inc. / /DTD E n t e r p r i s e JavaBeans 2.0//EN h t t p : // java. sun. com/ dtd / ejb j a r 2 0. dtd > <ejb j a r> <e n t e r p r i s e beans> 4
5 <message driven> <ejb name>firstmdb</ ejb name> <ejb c l a s s>firstmdb</ ejb c l a s s> <message driven d e s t i n a t i o n> <d e s t i n a t i o n type> javax. jms. Queue </ d e s t i n a t i o n type> </ message driven d e s t i n a t i o n> <t r a n s a c t i o n type>container</ t r a n s a c t i o n type> </ message driven> </ e n t e r p r i s e beans> </ ejb j a r> <j b o s s> <e n t e r p r i s e beans> <message driven> <ejb name>firstmdb</ ejb name> <d e s t i n a t i o n jndi name> f i r s t Q u e u e </ d e s t i n a t i o n jndi name> </ message driven> </ e n t e r p r i s e beans> </ j b o s s> Listing 5: META-INF/jboss.xml 1.2 Esempio Queue Listing 6: Receiver.java class T e x t L i s t e n e r implements MessageListener public void onmessage ( Message message ) try TextMessage txtmsg=(textmessage ) message ; System. out. p r i n t l n ( r i c e v u t o : +txtmsg. gettext ( ) ) ; catch ( JMSException e r r o r ) System. out. p r i n t l n ( hai r i c e v u t o una e c c e z i o n e : +e r r o r. getmessage ( ) ) ; public class Receiver QueueConnectionFactory c f = null ; QueueConnection c onnection = null ; QueueSession s e s s i o n = null ; Queue d e s t i n a t i o n = null ; QueueReceiver r e c e i v e r = null ; // TextMessage message = n u l l ; 5
6 c f = ( QueueConnectionFactory ) ctx. lookup ( ConnectionFactory ) ; d e s t i n a t i o n = ( Queue ) ctx. lookup ( queue /miacoda ) ; c onnection = c f. createqueueconnection ( ) ; s e s s i o n = connection. createqueuesession ( false, r e c e i v e r = s e s s i o n. c r e a t e R e c e i v e r ( d e s t i n a t i o n ) ; r e c e i v e r. s e t M e s s a g e L i s t e n e r (new T e x t L i s t e n e r ( ) ) ; c onnection. s t a r t ( ) ; System. out. p r i n t l n ( La c o n n e s s i o n e e p a r t i t a, sono in a t t e s a d i un messaggio ) ; Listing 7: Sender.java public class Sender QueueConnectionFactory c f = null ; QueueConnection c onnection = null ; QueueSession s e s s i o n = null ; Queue d e s t i n a t i o n = null ; QueueSender sender = null ; TextMessage message = null ; c f = ( QueueConnectionFactory ) ctx. lookup ( ConnectionFactory ) ; d e s t i n a t i o n = ( Queue ) ctx. lookup ( queue /miacoda ) ; c onnection = c f. createqueueconnection ( ) ; s e s s i o n = connection. createqueuesession ( false, sender = s e s s i o n. c r e a t e S e n d e r ( d e s t i n a t i o n ) ; message = s e s s i o n. createtextmessage ( ) ; message. settext ( a r g s [ 0 ] ) ; System. out. p r i n t l n ( I n v i o d e l messaggio d i a llarme in c o r s o.. \n ) ; sender. send ( message ) ; 6
7 c onnection. c l o s e ( ) ; System. out. p r i n t l n ( Messaggio di allarme i n v i a t o correttamente. ) ; 1.3 Esempio Topic Listing 8: Publisher.java public class P u b l i s h e r TopicConnectionFactory c f = null ; TopicConnection connection = null ; T opicsession s e s s i o n = null ; Topic d e s t i n a t i o n = null ; TopicPublisher p u b l i s h e r = null ; TextMessage message = null ; c f = ( TopicConnectionFactory ) ctx. lookup ( ConnectionFactory ) ; d e s t i n a t i o n = ( Topic ) ctx. lookup ( t o p i c / i n c e n d i o ) ; c onnection = c f. createtopicconnection ( ) ; s e s s i o n = connection. c r e a t e T o p i c S e s s i o n ( false, p u b l i s h e r = s e s s i o n. c r e a t e P u b l i s h e r ( d e s t i n a t i o n ) ; message = s e s s i o n. createtextmessage ( ) ; message. settext ( a r g s [ 0 ] ) ; System. out. p r i n t l n ( I n v i o d e l messaggio d i a llarme in c o r s o.. \n ) ; p u b l i s h e r. send ( message ) ; c onnection. c l o s e ( ) ; System. out. p r i n t l n ( Messaggio di allarme i n v i a t o correttamente. ) ; Listing 9: Subscriber.java class T e x t L i s t e n e r implements MessageListener 7
8 public void onmessage ( Message message ) try TextMessage txtmsg=(textmessage ) message ; System. out. p r i n t l n ( r i c e v u t o : +txtmsg. gettext ( ) ) ; catch ( JMSException e r r o r ) System. out. p r i n t l n ( hai r i c e v u t o una e c c e z i o n e : +e r r o r. getmessage ( ) ) ; public class S u b s c r i b e r TopicConnectionFactory c f = null ; TopicConnection connection = null ; T opicsession s e s s i o n = null ; Topic d e s t i n a t i o n = null ; TopicSubscriber s u b s c r i b e r = null ; // TextMessage message = n u l l ; c f = ( TopicConnectionFactory ) ctx. lookup ( ConnectionFactory ) ; d e s t i n a t i o n = ( Topic ) ctx. lookup ( t o p i c / i n c e n d i o ) ; c onnection = c f. createtopicconnection ( ) ; s e s s i o n = connection. c r e a t e T o p i c S e s s i o n ( false, s u b s c r i b e r = s e s s i o n. c r e a t e S u b s c r i b e r ( d e s t i n a t i o n ) ; s u b s c r i b e r. s e t M e s s a g e L i s t e n e r (new T e x t L i s t e n e r ( ) ) ; c onnection. s t a r t ( ) ; System. out. p r i n t l n ( La c o n n e s s i o n e e p a r t i t a, sono in a t t e s a d i un messaggio ) ; 1.4 Esempio Topic Selection Listing 10: Publisher.java public class P u b l i s h e r 8
9 TopicConnectionFactory c f = null ; TopicConnection connection = null ; T opicsession s e s s i o n = null ; Topic d e s t i n a t i o n = null ; TopicPublisher p u b l i s h e r = null ; TextMessage message = null ; c f = ( TopicConnectionFactory ) ctx. lookup ( ConnectionFactory ) ; d e s t i n a t i o n = ( Topic ) ctx. lookup ( t o p i c / allarme ) ; c onnection = c f. createtopicconnection ( ) ; s e s s i o n = connection. c r e a t e T o p i c S e s s i o n ( false, p u b l i s h e r = s e s s i o n. c r e a t e P u b l i s h e r ( d e s t i n a t i o n ) ; message = s e s s i o n. createtextmessage ( ) ; message. s e t S t r i n g P r o p e r t y ( tipoallarme, a r g s [ 0 ] ) ; message. settext ( a r g s [ 1 ] ) ; TextMessage txtmsg=(textmessage ) message ; System. out. p r i n t l n ( I n v i o d e l messaggio d i a llarme in c o r s o.. \n ) ; p u b l i s h e r. send ( message ) ; c onnection. c l o s e ( ) ; System. out. p r i n t l n ( Messaggio di allarme i n v i a t o correttamente. ) ; Listing 11: Subscriber.java class T e x t L i s t e n e r implements MessageListener public void onmessage ( Message message ) try TextMessage txtmsg=(textmessage ) message ; System. out. p r i n t l n ( r i c e v u t o : +txtmsg. gettext ( ) ) ; catch ( JMSException e r r o r ) System. out. p r i n t l n ( hai r i c e v u t o una e c c e z i o n e : +e r r o r. getmessage ( ) ) ; public class S u b s c r i b e r 9
10 TopicConnectionFactory c f = null ; TopicConnection connection = null ; T opicsession s e s s i o n = null ; Topic d e s t i n a t i o n = null ; TopicSubscriber s u b s c r i b e r = null ; // TextMessage message = n u l l ; S t r i n g s e l e c t o r = null ; c f = ( TopicConnectionFactory ) ctx. lookup ( ConnectionFactory ) ; d e s t i n a t i o n = ( Topic ) ctx. lookup ( t o p i c / allarme ) ; c onnection = c f. createtopicconnection ( ) ; s e s s i o n = connection. c r e a t e T o p i c S e s s i o n ( false, // d i c h i a r o che intendo u t i l i z z a r e un s e l e t t o r e s e l e c t o r = tipoallarme = i n c e n d i o ; s u b s c r i b e r = s e s s i o n. c r e a t e S u b s c r i b e r ( d e s t i n a t i o n, s e l e c t o r, f a l s e ) ; s u b s c r i b e r. s e t M e s s a g e L i s t e n e r (new T e x t L i s t e n e r ( ) ) ; c onnection. s t a r t ( ) ; System. out. p r i n t l n ( La c o n n e s s i o n e e p a r t i t a, sono in a t t e s a d i un messaggio ) ; Listing 12: Subscriber2.java class TextListener2 implements MessageListener public void onmessage ( Message message ) try TextMessage txtmsg=(textmessage ) message ; System. out. p r i n t l n ( r i c e v u t o : +txtmsg. gettext ( ) ) ; catch ( JMSException e r r o r ) System. out. p r i n t l n ( hai r i c e v u t o una e c c e z i o n e : +e r r o r. getmessage ( ) ) ; public class S u b s c r i b e r 2 10
11 TopicConnectionFactory c f = null ; TopicConnection connection = null ; T opicsession s e s s i o n = null ; Topic d e s t i n a t i o n = null ; TopicSubscriber s u b s c r i b e r = null ; // TextMessage message = n u l l ; S t r i n g s e l e c t o r = null ; c f = ( TopicConnectionFactory ) ctx. lookup ( ConnectionFactory ) ; d e s t i n a t i o n = ( Topic ) ctx. lookup ( t o p i c / allarme ) ; c onnection = c f. createtopicconnection ( ) ; s e s s i o n = connection. c r e a t e T o p i c S e s s i o n ( false, // d i c h i a r o che intendo u t i l i z z a r e un s e l e t t o r e s e l e c t o r = tipoallarme = rapina ; s u b s c r i b e r = s e s s i o n. c r e a t e S u b s c r i b e r ( d e s t i n a t i o n, s e l e c t o r, f a l s e ) ; s u b s c r i b e r. s e t M e s s a g e L i s t e n e r (new TextListener2 ( ) ) ; c onnection. s t a r t ( ) ; System. out. p r i n t l n ( La c o n n e s s i o n e e p a r t i t a, sono in a t t e s a d i un messaggio ) ; 1.5 Esempio Queue con lettura sincrona Listing 13: ReceiverSync.java public class ReceiverSync QueueConnectionFactory c f = null ; QueueConnection c onnection = null ; QueueSession s e s s i o n = null ; Queue d e s t i n a t i o n = null ; QueueReceiver r e c e i v e r = null ; 11
12 TextMessage message = null ; c f = ( QueueConnectionFactory ) ctx. lookup ( ConnectionFactory ) ; d e s t i n a t i o n = ( Queue ) ctx. lookup ( queue /miacoda ) ; c onnection = c f. createqueueconnection ( ) ; s e s s i o n = connection. createqueuesession ( false, r e c e i v e r = s e s s i o n. c r e a t e R e c e i v e r ( d e s t i n a t i o n ) ; c onnection. s t a r t ( ) ; do message=(textmessage ) r e c e i v e r. r e c e i v e ( ) ; System. out. p r i n t l n ( r i c e v u t o messaggio : +message. gettext ( ) ) ; while (! message. gettext ( ). e q u a l s ( stop ) ) ; Listing 14: SenderSync.java public class SenderSync QueueConnectionFactory c f = null ; QueueConnection c onnection = null ; QueueSession s e s s i o n = null ; Queue d e s t i n a t i o n = null ; QueueSender sender = null ; TextMessage message = null ; c f = ( QueueConnectionFactory ) ctx. lookup ( ConnectionFactory ) ; d e s t i n a t i o n = ( Queue ) ctx. lookup ( queue /miacoda ) ; c onnection = c f. createqueueconnection ( ) ; s e s s i o n = connection. createqueuesession ( false, 12
13 sender = s e s s i o n. c r e a t e S e n d e r ( d e s t i n a t i o n ) ; message = s e s s i o n. createtextmessage ( ) ; message. settext ( a r g s [ 0 ] ) ; System. out. p r i n t l n ( I n v i o d e l messaggio d i a llarme in c o r s o.. \n ) ; sender. send ( message ) ; c onnection. c l o s e ( ) ; System. out. p r i n t l n ( Messaggio di allarme i n v i a t o correttamente. ) ; 13
Vittorio Scarano. Università degli Studi di Salerno. Lezione 21 Enterprise JavaBeans (7)
Lezione 21 Enterprise JavaBeans (7) Vittorio Scarano Corso di Sistemi Distribuiti (2003-2004) Laurea Specialistica in Informatica Università degli Studi di Salerno Obiettivo della lezione Presentare il
DettagliArchitetture Software Orientate ai Servizi Java Message Service - JMS
Architetture Software Orientate ai Servizi Java Message Service - JMS Magnifico ambasciatore. «Tarde non furon mai grazie divine». Dico questo perché mi pareva di aver non perduto, ma smarrito la grazia
Dettagliottobre Fonti The Java EE 5 Tutorial The Java Message Service API Luca Cabibbo Messaging
Luca Cabibbo Architetture Software Dispensa MW 4 ottobre 2008 1 -Fonti The Java EE 5 Tutorial The Java Message Service API http://java.sun.com/javaee/5/docs/tutorial/doc/ 2 Obiettivi - Obiettivi e argomenti
DettagliAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Distributed and Agent Systems JMS Prof. Agostino Poggi What is JMS? Acronym of Java Messaging
DettagliObiettivo della lezione. Presentare un esempio di meccanismi di comunicazione asincrona utilizzato nei Message- Oriented-Middleware (MOM)
Obiettivo della lezione Lezione 20 Java Message Service Vittorio Scarano Corso di Sistemi Distribuiti (2003-2004) Laurea Specialistica in Informatica Università degli Studi di Salerno Presentare un esempio
DettagliJava Messaging Service
Java Messaging Service Università di Bologna CdS Laurea Specialistica in Ingegneria Informatica III Ciclo - A.A. 2008/2009 Corso di Sistemi Distribuiti LS Java Messaging Service (JMS): panoramica e alcuni
DettagliJava Messaging Service
Java Messaging Service Università di Bologna CdS Laurea Specialistica in Ingegneria Informatica III Ciclo - A.A. 2008/2009 Corso di Sistemi Distribuiti LS Java Messaging Service (JMS): panoramica e alcuni
DettagliJava Message Service (JMS)
Luca Cabibbo Architettura dei Sistemi Software Java Message Service (JMS) dispensa asw840 marzo 2017 I ll send an S.O.S. to the world. I hope that someone gets my message in a bottle. Yeah. The Police
Dettagli07 - Java Messaging Service (JMS) e
Java Messaging Service e Enterprise Service Bus Università di Bologna CdS Laurea Magistrale in Ingegneria Informatica I Ciclo - A.A. 2013/2014 Corso di Sistemi Distribuiti M 07 - Java Messaging Service
DettagliEnterprise Service Bus
Java Messaging Service e Enterprise Service Bus Università di Bologna CdS Laurea Specialistica in Ingegneria Informatica II Ciclo - A.A. 2009/2010 Corso di Sistemi Distribuiti LS Java Messaging Service
Dettagli! " # $ % & % ' ( $! ) * + *, $ * " (!
! " # $ % & % ' ( $! ) * + *, $ * " (! Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Un ambiente di esecuzione che gestisce o naming di oggetti, sicurezza, concorrenza, transazioni,
DettagliMessaging (middleware)
Luca Cabibbo Architetture Software Messaging (middleware) Dispensa ASW 840 ottobre 2014 Quando sei di fronte a un interfaccia particolarmente difficile, prova a cambiare la sua caratterizzazione. Eberhardt
DettagliVittorio Scarano. Università degli Studi di Salerno. Lezione 23 Enterprise JavaBeans (8)
Lezione 23 Enterprise JavaBeans (8) Vittorio Scarano Corso di Sistemi Distribuiti (2003-2004) Laurea Specialistica in Informatica Università degli Studi di Salerno Obiettivo della lezione Presentare le
DettagliJava Messaging Service e Enterprise Service Bus
Java Messaging Service e Enterprise Service Bus Alma Mater Studiorum - Università di Bologna CdS Laurea Magistrale in Ingegneria Informatica I Ciclo - A.A. 2016/2017 Corso di Sistemi Distrbuiti M 07 -
DettagliLPR 2005/2006 Lezione 7. paradigma di interazione domanda/risposta remote procedure call RMI (Remote Method Invocation): API JAVA esercizio
LPR 2005/2006 Lezione 7 paradigma di interazione domanda/risposta remote procedure call RMI (Remote Method Invocation): API JAVA esercizio PARADIGMA DI INTERAZIONE A DOMANDA/RISPOSTA Paradigma di interazione
DettagliIntroduzione alle JSP
Introduzione alle JSP Corso di Sistemi Web e Basi Dati Prof. Antonio d Acierno Java Server Page JSP Riferimenti http://java.sun.com/products/jsp http://www.coreservlets.com http://www.html.it/jsp Le JSPs
DettagliObiettivo della lezione. Creare e fare il deployment di un Enterprise Javabean
Lezione 13 Enterprise JavaBeans Vittorio Scarano Corso di Sistemi Distribuiti (2003-2004) Laurea Specialistica in Informatica Università degli Studi di Salerno Obiettivo della lezione Creare e fare il
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA9 B3.2 Produttore-consumatore 1 Prerequisiti Elementi di programmazione concorrente Mutua esclusione Produttore-consumatore 2 1 Introduzione In questa Unità vediamo
DettagliCorso di Telematica II
Corso di Laurea Triennale in Ingegneria Informatica ed Ingegneria delle Telecomunicazioni Corso di Telematica II Matricola Nome, Cognome Data Orale... Prova scritta del 21/07/2005 Si implementi, in linguaggio
DettagliProgrammazione distribuita in Java. Socket & Client-Server
Programmazione distribuita in Java Socket & Client-Server 1 Strumenti per networking Libreria java.net Socket (Astrazione per una presa di comunicazione) Serializzazione Socket Per comunicare si apre una
DettagliProgrammazione Concorrente e Distribuita
Programmazione Concorrente e Distribuita Esame scritto del 29 Giugno 2012 Versione I Esercizio 1 ( punti) 1 class Mammal { 2 S t r i n g name = f u r r y ; 3 S t r i n g makenoise ( ) { return g e n e
DettagliL'applicazione di esempio. Trasparenza di distribuzione. La classe Consumatore. La classe Produttore
Trasparenza di distribuzione L'applicazione di esempio Il processo Produttore produce periodicamente un prodotto e lo invia in push al processo Consumatore Immaginiamo un sistema composto da Processo Produttore
DettagliOCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO
CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER
DettagliGli EJB offrono vari vantaggi allo sviluppatore di una applicazione
Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Un ambiente di esecuzione che gestisce o naming di oggetti, sicurezza, concorrenza, transazioni, persistenza, distribuzione oggetti (location
DettagliScambio Messaggi. Message Passing. Synchronization. Garantiscono la mutua esclusione Scambio di informazioni
Scambio Messaggi Domenico Cotroneo Dipartimento di Informatica e Sistemistica Message Passing Garantiscono la mutua esclusione Scambio di informazioni send (destination, message) receive (source, message)
DettagliPROCEDURA APERTA PER L AFFIDAMENTO DELLA FORNITURA DI AUSILI PER INCONTINENZA E ASSORBENZA A MINOR IMPATTO AMBIENTALE 3
PROCEDURA APERTA PER L AFFIDAMENTO DELLA FORNITURA DI AUSILI PER INCONTINENZA E ASSORBENZA A MINOR IMPATTO AMBIENTALE 3 ALLEGATO 5.1 SISTEMA INFORMATIVO SPECIFICHE MESSAGGI BACKBONE SPA SVILUPPO PERCORSI
DettagliProva d Esame Compito A
Prova d Esame 19.04.2005 Compito A Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private int counter;
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Qualità del Codice: Convenzioni di Stile versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliPrincipi, Modelli e Applicazioni per Sistemi Distribuiti M
Università degli Studi di Bologna Facoltà di Ingegneria Principi, Modelli e Applicazioni per Sistemi Distribuiti M Esercitazione 2 (svolta) Socket Java con connessione Alessandro Pernafini Architettura
DettagliRiferimenti ad oggetti: Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro. Riferimenti ad oggetti: (Esempio)
Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Riferimenti ad oggetti: Cosa si può fare con i riferimenti?
DettagliGESTIONE DEGLI ERRORI
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori
DettagliGESTIONE DEGLI ERRORI
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori
DettagliCorso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 0 (svolta) Multithreading in Java Luca Foschini Anno accademico 2009/2010 Esercitazione 0 1 Modello
DettagliProgrammazione ad Oggetti. Java Parte II
Programmazione ad Oggetti Java Parte II Overview Caratteristiche lessicali Il primo programma Java 1 Commenti /* Commento tradizionale, eventualmente su più linee, non nidificato */ // Commento su di una
DettagliCorso di Reti di Calcolatori LA
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori LA RMI: callback Silvia Vecchi Anno accademico 2003/2004 RMI: Callback 1 Callback (1) Molte applicazioni richiedono
DettagliESERCIZIO 1 ESERCIZIO 1
Si crei un progetto Java che mappi un semplice sistema medico. Il progetto deve contenere tre classi: una per i pazienti, una per le patologie e una per il main. Inoltre si definiscano le seguenti eccezioni:
DettagliOggetti e dati primitivi 1
I membri delle classi Oggetti e dati primitivi Corso di laurea in Le classi contengono 2 tipi di membri, definiti per l intera classe o per le singole istanze Le variabili o i campi, che rappresentano
DettagliProgrammazione Concorrente e Distribuita
Programmazione Concorrente e Distribuita Esame scritto del 10 Gennaio 2012 Versione C Esercizio 1 (5 punti) 1 public class Tenor extends S i n g e r { 2 public s t a t i c S t r i n g s i n g ( ) { 3 return
DettagliI Thread. un thread è uno stream di esecuzione del programma
I Thread un thread è uno stream di esecuzione del programma Sistema Operativo e Thread Un processo o thread una successione di operazioni che vengono eseguite dal sistema operativo in modo sequenziale
DettagliEsercizi su Java RMI. Progetto di Cliente / Servitore e supporto. Possibile tabella mantenuta dal server
Esercizi su Java RMI Progetto di Cliente / Servitore e supporto Un progetto RMI si deve basare sempre sulla interfaccia remota e sulle classi del cliente e del servitore più su alcune classi di supporto
DettagliEsempio: Costruttori ed ereditarietà
Esempio: 1 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il costruttore di default (quello senza parametri) Se in un costruttore
DettagliProgrammazione con Java
Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:
DettagliIl Modello a scambio di messaggi
Il Modello a scambio di messaggi PRIMITIVE PER LO SCAMBIO DI MESSAGGI Un messaggio si può considerare costituito da: origine, destinazione e contenuto typedef struct{ origine; destinazione; contenuto;
DettagliModello a scambio di messaggi
Modello a scambio di messaggi PRIMITIVE PER LO SCAMBIO DI MESSAGGI Un messaggio si può considerare costituito da: origine, destinazione e contenuto type messaggio = record origine:. ; destinazione:. ;
DettagliEsercitazione 2: Java Thread
Esercitazione 2: Java Thread Thread Un thread è un singolo flusso sequenziale di controllo all interno di un processo Un thread (o processo leggero) è un unità di esecuzione che condivide codice e dati
DettagliProgetto di Applicazioni Software
Progetto di Applicazioni Software Tecnologie di Base per la Programmazione in Ambienti Distribuiti Remote Procedure Call (RPC) e Message Oriented Middleware (MOM) RPC e MOM in Java: Java RMI e JMS thread
DettagliEsercitazione 2: Java Thread. Java Thread. Java Thread. Un thread:
Esercitazione 2: Thread Un thread è un singolo flusso sequenziale di controllo all interno di un processo Un thread (o processo leggero) è un unità di esecuzione che condivide codice e dati con altri thread
DettagliInterfaccia Comparable. Fondamenti di Informatica L-B Esercitazione n 5 Java: Comparable, Array. Come sfrutto Comparable?
Fondamenti di Informatica L-B Esercitazione n 5 Java: Comparable, Array A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Interfaccia Comparable class Contatore implements Comparable
DettagliCorso di Reti di Calcolatori T
Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 7 (svolta) Java RMI e Riferimenti Remoti Un RMI Registry Remoto Luca Foschini Anno accademico 2018/2019
DettagliApplicazioni web. Sommario. Parte 4 http. http Metodi, intestazioni e codici di stato get post Parametri e cookie. Applicazioni web.
Parte 4 http Sommario http Metodi, intestazioni e codici di stato get post Parametri e cookie 1 Http Hyper Text Transfer Protocol Protocollo di livello applicazione per sistemi informativi distribuiti,
Dettagli1 EJB e Portal Component Object http://desvino.altervista.org
1 EJB e Portal Component Object http://desvino.altervista.org In questo tutorial studiamo come sfruttare la tecnologia EJB, Enterprise JavaBean, all interno del SAP Netweaver Portal. In breve, EJB è un
DettagliI Thread. Sistema Operativo e Thread
I Thread un thread è uno stream di esecuzione del programma Sistema Operativo e Thread Un processo o thread una successione di operazioni che vengono eseguite dal sistema operativo in modo sequenziale
DettagliConfigurazione di una vs. Laboratorio di sistemi interattivi. Dal modello formale all implementazione
Laboratorio di sistemi interattivi Lezione 10: Dal modello formale all implementazione General Course Information 1 Dal modello formale all implementazione Interprete universale del formalismo possibile
DettagliCorso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 6 (svolta) Java RMI Luca Foschini Anno accademico 2010/2011 Esercitazione 6 1 Specifica: il Client
DettagliUna breve presentazione. Basati sulla specifica EJB Sun Microsystems. Consentono di costruire applicazioni ad oggetti distribuite, utilizzando Java
Enterprise JavaBeans Approfondimento per il corso di Sistemi Distribuiti A.A. 2002/2003 Una breve presentazione Basati sulla specifica EJB Sun Microsystems Consentono di costruire applicazioni ad oggetti
DettagliProgrammazione a oggetti
Programmazione a oggetti Quanti oggetti, tra di loro parlando, fanno programmi. Pilu Crescenzi piluc@dsi.unifi.it Università di Firenze Programmazione a oggetti p.1/32 Cosa è un oggetto Una scatola software
DettagliConcetti Base Encapsulation ed Ereditarietà Programmare con l Ereditarietà. Java: Ereditarietà. Damiano Macedonio
Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica Introduzione Ereditarietà in Sintesi È uno dei concetti chiave della programmazione orientata agli
DettagliProgrammazione in Java (I modulo) Lezione 21: Classi derivate e l'operatore instanceof Riscrivere il metodo tostring() Riscrivere il metodo equals()
Programmazione in Java (I modulo) Lezione 21: Classi derivate e l'operatore instanceof Riscrivere il metodo tostring() Riscrivere il metodo equals() Ereditarietà (Inheritance) RIASSUMIAMO DALLA SCORSA
DettagliRinaldo Bonazzo Rinaldo Bonazzo, japs incontra Spring Cagliari, 14 Giugno 2008
LjAPS incontra Spring o Rinaldo Bonazzo http://www.jroller.com/rbonazzo/ 1 Chi sono Responsabile informatico di Sardinia Point Srl (www.sardiniapoint.it) società che: sviluppa strumenti informatici destinati
DettagliEccezioni Precisazioni e approfondimenti
Eccezioni Precisazioni e approfondimenti Costruttore: il parametro String definisce il messaggio di errore associato all eccezione Metodi particolarmente significativi getmessage(): ritorna l istanza di
DettagliProva d Esame Compito A
Prova d Esame 19.07.2005 Compito A Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private int counter;
DettagliSpring & Mule. Andrea Bozzoni
Spring & Mule Andrea Bozzoni andrea.bozzoni@gmail.com 1 Contenuti 1 - Panoramica su un ESB 2 - Introduzione a Mule 3 - Integrazione tra Spring & Mule 3.1 - Spring come component Factory 3.2 - Configurare
DettagliSOMMARIO Tipo di dato astratto (ADT) : Interfacce: interface. TIPI DI DATI ASTRATTI. Polimorfismo: Tipo class. Tipo interface. Tipi run-time: is e as.
SOMMARIO Tipo di dato astratto (ADT) : Interfacce: interface. Polimorfismo: Tipo class. Tipo interface. Tipi run-time: is e as. Confronto tra oggetti: Equals(). IComparable. IComparer. TIPI DI DATI ASTRATTI
DettagliJava Thread. Thread. Un thread
Java Thread Thread Un thread è un singolo flusso sequenziale di controllo all interno di un processo Un thread (o processo leggero) è un unità di esecuzione che condivide codice e dati con altri thread
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Componenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
DettagliINTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE
00-PRIME PAGINE 2-07-2003 10:04 Pagina V Indice Prefazione XI PARTE PRIMA INTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE 1 Capitolo 1 Le ragioni di tanto interesse 3 1.1 Enterprise in J2EE 3 Definizione
DettagliC# delegates. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 1. Delegate
C# delegates Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 1 Delegate I delegati possono essere visti come definizioni di tipi per puntatori a funzione. Permettono di
DettagliPROVA FINALE Ingegneria del software
PROVA FINALE Ingegneria del software Ing. Jody Marca jody.marca@polimi.it Laboratorio N 6 Cosa faremo oggi 2 Comunicazione RMI Comunicazione RMI Multi-Thread Remote Method Invocation 3 L obiettivo è di
DettagliEnterprise Java Bean (EJB)
Luca Cabibbo Architettura dei Sistemi Software Enterprise Java Bean (EJB) dispensa asw850 marzo 2017 Coming together is beginning. Keeping together is progress. Working together is success. Henry Ford
DettagliScope e visibilità per classi
Scope e visibilità per classi Packages Classi interne nelle loro diverse forme Interne / statiche / locali Utilizzo congiunto con interfacce Implementazione di iteratori Gestione di eventi Classi interne
DettagliServer Sequenziale. Server Concorrente. Esercitazione: Socket Java con connessione
Esercitazione: Socket Java con connessione Sviluppare un applicazione C/S che effettui il trasferimento di un file dal client al server (put) usando una connessione. In particolare nel servizio: il client
DettagliMessaggistica (Messaging) Obiettivi. Vantaggi Dei Messaggi. Vantaggi Dei Messaggi Abilita la comunicazione ed il trasferimento dati fra applicazioni
Messaggistica (Messaging) Obiettivi Componenti distribuiti, o varie applicazioni, devono comunicare attraverso la rete La rete è inaffidabile, ciascun elemento della rete può causare ritardi o interruzioni.
Dettaglidomenica 9 giugno 13 Serializzazione
Serializzazione A cosa serve? Ad ottenere una rappresentazione di una struttura dati che possiamo memorizzare, trasmettere via rete Cosa possiamo serializzare? OK NO Tipi primitivi, Riferimenti stringhe
DettagliProgrammazione ad Oggetti
Programmazione ad Oggetti Java Eccezioni Eccezioni in breve Un eccezione è un oggetto che descrive una situazione anomala o di errore L eccezioni vengono lanciate da una parte di un programma e possono
DettagliJava: Definire Classi e Creare Oggetti
Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica lezione del 21 marzo 2014 Introduzione Programmare con gli Oggetti Un programma Java è costituito
DettagliProgrammazione Java Avanzata. MVC Model, View,, Controller. Ing. Gianluca Caminiti
Programmazione Java Avanzata MVC Model, View,, Controller Ing. Gianluca Caminiti Uso di JSP: complessità crescente Invocare codice Java direttamente. Posizionare tutto il codice Java in una pagina JSP
DettagliLe eccezioni in Java
Eccezioni 1 Le eccezioni in Java i tipi di eccezione sono particolari classi che contengono solo il costruttore ci possono essere più costruttori overloaded sono definite in moduli separati da quelli che
DettagliProgrammazione Java Struttura di una classe, Costruttore, Riferimento this
Programmazione Java Struttura di una classe, Costruttore, Riferimento this romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap > Struttura di una classe > Costruttore > Riferimento
DettagliEsercitazioni 13 e 14
Università degli Studi della Calabria Corso di Laurea in Ingegneria Informatica A.A. 2001/2002 Sistemi Operativi Corsi A e B Esercitazioni 13 e 14 Comunicazione tra processi (IPC) Meccanismo per la comunicazione
DettagliLezione n.10 LPR. RMI CallBacks
Lezione n.10 LPR 12/05/2008 RMI CALLBACKS Un client può richiedere servizi ad un servente mediante RMI. Talvolta è utile poter consentire al servente di contattare il client il servente notifica degli
DettagliLezione n.10 LPR Informatica Applicata RMI Approfondimenti Callback. 15/05/2012 Laura Ricci
Lezione n.10 LPR Informatica Applicata RMI Approfondimenti Callback 15/05/2012 Laura Ricci Laura Ricci 1 RMI: IL MECCANISMO DELLE CALLBACK RMI utilizza una comunicazione sincrona a rendez vouz esteso:
DettagliProgrammazione lato client. JavaScript. Applicazioni di Rete M. Ribaudo - DISI. JavaScript
Programmazione lato client Netscape: Microsoft: JScript ECMAScript (ECMA-262) (European Computer Manufactures Association) 1 Linguaggio di script interpretato con alcune caratteristiche Object Oriented
DettagliMQSeries. Utilizzo di Java SC13-2958-07
MQSeries Utilizzo di Java SC13-2958-07 MQSeries Utilizzo di Java SC13-2958-07 Nota Prima di utilizzare queste informazioni ed il prodotto che esse supportano, leggere le informazioni contenute nella Appendice
DettagliLinguaggi di Programmazione I Lezione 9
Linguaggi di Programmazione I Lezione 9 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 6 maggio 28 Variabili 3 Ambiti................................................................
Dettagli14 - Metodi e Costruttori
14 - Metodi e Costruttori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliI a Prova in Itinere di Telematica di Base 24 marzo 2006
Cognome e Nome: Matricola: I a Prova in Itinere di Telematica di Base 24 marzo 2006 1. Un pacchetto di 20M deve attraversare un collegamento tra due nodi la cui frequenza di trasmissione e di 200Mbs. Il
DettagliJAVA - I/O System. Il JAVA considera tutte i flussi da e verso l esterno, come stream di byte. Questi possono essere di ingresso o di uscita:
JAVA - I/O System Il JAVA considera tutte i flussi da e verso l esterno, come stream di byte. Questi possono essere di ingresso o di uscita: 1. InputStream: Flusso di byte in ingresso. Con questa classe
DettagliESERCITAZIONE: AZIENDA
ESERCITAZIONE: AZIENDA Homework 24 ottobre 2002 Emanuel Weitschek emanuel@dia.uniroma3.it Prerequisiti (software) PostgreSQL pgadmin Driver JDBC Ambito Si consideri una base di dati che contiene informazioni
DettagliPolimorfismo parametrico vs polimorfismo per inclusione
Polimorfismo parametrico vs polimorfismo per inclusione Esercizio Definire il tipo di dato Stack con operazioni Push( element ) Pop() Non forzare una specifica implementazione Non forzare un tipo specifico
DettagliLe eccezioni in Java
Eccezioni 1 Le eccezioni in Java i tipi di eccezione sono particolari classi che contengono solo il costruttore ci possono essere più costruttori overloaded sono definite in moduli separati da quelli che
DettagliEnterprise Java Beans (EJB) SAPIENZA Università di Roma Corso di Architetture Software Orientate ai Servizi
Enterprise Java Beans (EJB) SAPIENZA Università di Roma Corso di Architetture Software Orientate ai Servizi Enterprise Java Beans Gli Enterprise Java Beans (EJB) sono componenti scritti in Java che realizzano
Dettagli