Главная /
Построение распределенных систем на Java /
Какие из следующих утверждений являются верными:
Какие из следующих утверждений являются верными:
вопросПравильный ответ:
при использовании модели взаимодействия типа издание-подписка сообщение, прочитанное одним клиентом, автоматически удаляется из очереди и не может быть прочитано другими клиентами
при использовании модели взаимодействия типа издание-подписка клиенты уведомляются о том, что в очереди есть сообщение на тему, на которую они подписаны
при использовании модели взаимодействия типа издание-подписка клиенты могут устанавливать долговременные подписки, позволяющие отсоединиться и позже снова подключиться и получать сообщения, поступившие во время отключения связи
Сложность вопроса
87
Сложность курса: Построение распределенных систем на Java
91
Оценить вопрос
Комментарии:
Аноним
Это очень простой решебник по интуиту.
27 авг 2018
Аноним
Спасибо за ответы интуит
10 июн 2016
Другие ответы на вопросы из темы интернет-технологии интуит.
- # Какие из следующих утверждений являются верными:
- # После выполнения какой строки сервер (класс BillingService) может принимать соединения клиентов: 1 package com.asw.net.ex1; 2 import java.net.*; 3 import java.util.Hashtable; 4 import java.io.*; 5 6 public class BillingService extends Thread{ 7 public static final int ADD_NEW_CARD = 1; 8 public static final int ADD_MONEY = 2; 9 public static final int SUB_MONEY = 3; 10 public static final int GET_CARD_BALANCE = 4; 11 public static final int EXIT_CLIENT = 5; 12 13 private int serverPort = 7896; 14 private ServerSocket ss; 15 private Hashtable hash; 16 17 public static void main(String[] args) { 18 BillingService bs = new BillingService(); 19 bs.start(); 20 } 21 22 public BillingService(){ 23 hash = new Hashtable(); 24 } 25 26 public void run(){ 27 try { 28 ss = new ServerSocket(serverPort); 29 System.out.println("Server started"); 30 while(true){ 31 Socket s = ss.accept(); 32 System.out.println("Client accepted"); 33 BillingClientService bcs = new BillingClientService(this, new DataInputStream(s.getInputStream()), new DataOutputStream(s.getOutputStream())); 34 bcs.start(); 35 } 36 } catch (IOException e) { 37 e.printStackTrace(); 38 } 39 } 40 41 public void addNewCard(String personName, String card) { 42 hash.put(card, new Double(0.0)); 43 } 44 public void addMoney(String card, double money) { 45 Double d = (Double)hash.get(card); 46 if (d!=null) hash.put(card,new Double(d.doubleValue()+money)); 47 } 48 public void subMoney(String card, double money) { 49 Double d = (Double)hash.get(card); 50 if (d!=null) hash.put(card,new Double(d.doubleValue()-money)); 51 } 52 public double getCardBalance(String card) { 53 Double d = (Double)hash.get(card); 54 if (d!=null) return d.doubleValue(); 55 return 0; 56 } 57 }
- # Класс BillingClientService унаследован от класса Thread, потому что:
- # В строке 32 , в классе BillingServiceServer: 1 // BillingServiceServer.java 2 package com.asw.corba.ex1; 3 4 // пакеты OMG CORBA 5 import org.omg.CosNaming.*; 6 import org.omg.CORBA.*; 7 import org.omg.PortableServer.*; 8 import org.omg.PortableServer.POA; 9 import com.asw.corba.ex1.BillingServiceModule.*; 10 11 public class BillingServiceServer { 12 public static void main(String args[]) { 13 try{ 14 // create and initialize the ORB 15 ORB orb = ORB.init(args, null); 16 17 // get reference to rootpoa & activate the POAManager 18 POA rootpoa = 19 POAHelper.narrow(orb.resolve_initial_references("RootPOA")); 20 rootpoa.the_POAManager().activate(); 21 22 // create servant and register it with the ORB 23 BillingServiceImpl BSImpl = new BillingServiceImpl(); 24 BSImpl.setORB(orb); 25 26 // get object reference from the servant 27 org.omg.CORBA.Object ref = rootpoa.servant_to_reference(BSImpl); 28 BillingService href = BillingServiceHelper.narrow(ref); 29 30 // get the root naming context 31 // NameService invokes the name service 32 org.omg.CORBA.Object objRef = 33 orb.resolve_initial_references("NameService"); 34 // Use NamingContextExt which is part of the Interoperable 35 // Naming Service (INS) specification. 36 NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); 37 38 // bind the Object Reference in Naming 39 String name = "BillingService"; 40 NameComponent path[] = ncRef.to_name( name ); 41 ncRef.rebind(path, href); 42 43 System.out.println("BillingServiceServer ready and waiting ..."); 44 45 // wait for invocations from clients 46 orb.run(); 47 } 48 49 catch (Exception e) { 50 System.err.println("ERROR: " + e); 51 e.printStackTrace(System.out); 52 } 53 System.out.println("BillingServer Exiting ..."); 54 } 55 }
- # Для запуска примера потребуются следующие утилиты (при использовании реализации CORBA, включенной в пакет JDK):