Documente Academic
Documente Profesional
Documente Cultură
6. Sisteme de numire si namespaces. (15.2.5) Un sistem de numire este un set conectat de contexte de acela"i tip (au aceeasi conventie de nume), "i ofer# un set comun de opera!iuni. De exemplu, un sistem care implementeaz# DNS este un sistem de numire. Un sistem care comunic# folosind LDAP este un sistem de numire. Un sistem de numire ofer# un serviciu de numire clien!ilor s#i pentru efectuarea operatiilor legate de numire. Un serviciu de numire este accesat prin propria sa interfa!a .De exemplu, DNS ofer# un serviciu de numire care mapeaza numele de masini la adresele IP. LDAP ofer# un serviciu de numire care mapeaza numele LDAP la intr#rile LDAP. Un sistem de fi"iere ofer# un serviciu de numire care mapeaza numele de fi"iere la fi"iere "i directoare. Un spa!iu de nume(namespace) este un set de nume ntr-un sistem de denumire. De exemplu, sistemul de fi"iere UNIX are un namespace compus din toate numele de fi"iere "i directoare, n acel sistem de fi"iere. Spa!iul de nume DNS con!ine nume de domenii DNS "i inregistrari. Spa!iul de nume LDAP con!ine nume de intr#ri(inregistrari) LDAP. 7. Specificati elementele JMS cu ceva detalii.
JMS (Java Message Service) API-ul este un mesaj Java Oriented Middleware (MOM), API pentru trimiterea de mesaje ntre doi sau mai mul#i clien#i. JMS este o parte din platforma Java, Enterprise Edition, "i este definit de o specifica#ie dezvoltat sub Java Community Process ca JSR 914. Elementele JMS sunt urmatoarele: JMS provider - O implementare a interfe#ei JMS pentru un mesaj orientat middleware (MOM). Furnizorii sunt implementati fie ca o implementare Java JMS sau un adaptor pentru un MOM non-Java JMS client - -O aplica#ie sau un proces care produce "i / sau consum! mesaje. JMS producer - un client JMS care creeaz! "i trimite mesaje JMS consumer -un client JMS care prime"te mesaje. JMS message - un obiect care con#ine datele transferate ntre clien#i JMS. JMS queue - o zon! de a"teptare care con#ine mesajele care au fost trimise "i sunt n a"teptare pentru a fi citite. Dup! cum sugereaz! numele cozii, mesajele sunt livrate n ordinea trimisa. Un mesaj este scos din coada dup! ce a fost citit. JMS topic - Un mecanism de distribu#ie pentru publicarea mesajelor care sunt livrate mai multor abona#i.
8. Modele JMS.
JMS accepta doua modele:
punct-la-punct sau model de a"teptare publica si subscrie modelul n modelul punct-la-punct sau de a"teptare, un produc#tor posteaza mesaje la o anumit# coad# "i un consumator cite"te mesajele din coada..Aici, produc#torul cunoa"te destina!ia mesajului "i posteaza mesajul direct la coada consumatorului. Acesta este caracterizat prin urm#toarele: -Doar un singur consumator va primi mesajul -Producatorul nu trebuie sa difuzeze in timpul in care consumatorul consuma mesajul,nici consumatorul nu trebuie sa difuzeze in momentul in care mesajul este trimis. -Fiecare mesaj procesat cu succes este recunoscut de c#tre consumator. Publica / subscrie modelul accept# mesaje de publicare pentru un anumit mesaj subiect.Zero sau mai mul!i abona!i pot nregistra interesul de a primi mesaje de la un anumit mesaj subiect. n acest model, nici editorul, nici abonatul nu "tie despre cel#lalt. Urm#toarele sunt caracteristicile ale acestui model: -Consumatori multipli pot primi mesajul -Exist# o dependen!# de sincronizare ntre editori "i abona!i. Editorul trebuie s# creeze un abonament pentru ca clien!ii s# poat# subscrie.Abonatul trebuie s# r#mne activ continuu pentru a primi mesaje, cu excep!ia cazului n care le-a stabilit un durabil abonament..n acest caz, mesajele publicate n timp ce abonatul nu este conectat vor fi redistribuite ori de cte ori se reconecteaz#.
9.Enumerati cele cinci tipuri de mesaje in JMS. (16.4.7) -text message, -map message, -bytes message, -stream message, -object message 10.Scrieti codul de creare a unei conexiuni JMS. (16.4.1, 16.4.2)
Context ctx = new InitialContext(); ConnectionFactory connectionFactory =(ConnectionFactory)ctx.lookup("jms/ConnectionFactory"); Connection connection = connectionFactory.createConnection(); //operations connection.close();
11.Presupunand ca exista deja un obiect de tip Session, scrieti codul de producere a unui mesaj JMS si postarea acestuia pe un topic.
Destination myTopic = (Destination) ctx.lookup("jms/MyTopic"); MessageProducer producer = session.createProducer(myTopic); producer.send(message);
12.Presupunand ca exista deja un obiect de tip Session, scrieti codul de producere a unui mesaj JMS si trimiterea acestuia pe o coada.
Queue myQueue = (Queue) ctx.lookup("jms/MyQueue"); MessageProducer producer = session.createProducer(myQueue); producer.send(message);
13.Presupunand ca exista deja un obiect de tip Session, scrieti codul de creare a unui consumator de mesaje si citirea unui mesaj de pe un topic.
Context ctx = new InitialContext(); ConnectionFactory connectionFactory = (ConnectionFactory) ctx.lookup("jms/ConnectionFactory"); Connection connection = connectionFactory.createConnection(); Destination myTopic = (Destination) ctx.lookup("jms/MyTopic"); MessageConsumer consumer = session.createConsumer(myTopic); connection.start(); Message m = consumer.receive();
14.Presupunand ca exista deja un obiect de tip Session, scrieti codul de creare a unui consumator de mesaje si citirea unui mesaj de pe o coada.
Context ctx = new InitialContext(); ConnectionFactory connectionFactory = (ConnectionFactory) ctx.lookup("jms/ConnectionFactory"); Connection connection = connectionFactory.createConnection(); Queue myQueue = (Queue) ctx.lookup("jms/MyQueue"); MessageConsumer consumer = session.createConsumer(myQueue); Listener myListener = new Listener(); consumer.setMessageListener(myListener); connection.start();
16.Ce interfata trebuie sa extinda interfata Home a unui EJB? Enumerati cele 4 metode ale acestei interfete.
Trebuie sa extinda interfata EJBHome (care face parte din pachetul javax.ejb). -public void remove(Handle han) throws RemoteException,RemoveException -public void remove(Object primaryKey) throws RemoteException, RemoteException -public EJBMetaData getEJBMetaData() throws RemoteException -public HomeHandle getHomeHandle() throws RemoteException
17.Ce interfata din pachetul javax.ejb trebuie sa extinda interfata Remote a unui EJB? Enumerati cele 5 metode ale acestei interfete.
Interfata Remote a unui EJB trebuie sa extinda interfata standard Remote si javax.ejb.EJBObject. Interfata EJBObject declara 5 metode: -public EJBHome getEJBHome() throws RemoteException -public Object getPrimaryKey() throws RemoteException -public Handle getHandle() throws RemoteException -public boolean isIdentical(EJBObject obj) throws RemoteException -public void remove() throws RemoteException, RemoveException
import java.rmi.RemoteException; public interface MyBeanHome extends EJBHome { MyBeanObject create() throws CreateException, RemoteException; }
30. Precizati continutul unui element <session> din descriptorul de desfasurare al unei aplicatii EJB.
<session> <ejb-name>CCEnroll</ejb-name> <home>com.bank11.ccards.ejb.CCEnrollHome</home> <remote>com.bank11.ccards.CCEnrollObject</remote> <ejb-class>com.bank11.ccards.CCEnroll</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container<transaction-type> <ejb-ref> <ejb-ref-name>ejb/CCAccount</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <home>com.bank11.ccards.ejb.AccountHome</home> <remote>com.bank11.ccards.ejb.AccountObj</remote> </ejb-ref> <security-role-ref> <description> This role relates to cash advances from ATMs