public void open(final OperationResult<Void, Exception> onOpen, final OperationResult<Void, Exception> onClose) { this.onOpen = onOpen; this.onClose = onClose; this.sendLink.open(); this.receiveLink.open(); }
public void addTransactionHandler(Coordinator coordinator, Receiver receiver) { ProtonTransactionHandler transactionHandler = new ProtonTransactionHandler(sessionSPI); receiver.setContext(transactionHandler); receiver.open(); receiver.flow(100); }
/** * Open the Session links for session * @param session the {@link Session} endpoint. * @throws IOException if the function failed to open the links for the provided session. * @throws IllegalArgumentException if the session is {@code null}. */ public void openLinks(Session session) throws IOException, IllegalArgumentException { if (session == null) { throw new IllegalArgumentException("The session cannot be null."); } try { this.receiverLink = session.receiver(this.receiverLinkTag); this.receiverLink.setProperties(this.amqpProperties); this.receiverLink.open(); this.senderLink = session.sender(this.senderLinkTag); this.senderLink.setProperties(this.amqpProperties); this.senderLink.open(); } catch (Exception e) { throw new IOException("Proton exception", e); } }
public void addReceiver(Receiver receiver) throws Exception { try { AbstractProtonReceiverContext protonReceiver = new ProtonServerReceiverContext(sessionSPI, connection, this, receiver); protonReceiver.initialise(); receivers.put(receiver, protonReceiver); receiver.setContext(protonReceiver); receiver.open(); } catch (ActiveMQAMQPException e) { receivers.remove(receiver); receiver.setTarget(null); receiver.setCondition(new ErrorCondition(e.getAmqpError(), e.getMessage())); receiver.close(); } }
@Override public void onConnectionInit(Event event) { // Codes_SRS_SERVICE_SDK_JAVA_AMQPFILEUPLOADNOTIFICATIONRECEIVEDHANDLER_25_011: [The event handler shall set the host name on the connection] Connection conn = event.getConnection(); conn.setHostname(hostName); // Every session or link could have their own handler(s) if we // wanted simply by adding the handler to the given session // or link // Codes_SRS_SERVICE_SDK_JAVA_AMQPFILEUPLOADNOTIFICATIONRECEIVEDHANDLER_25_012: [The event handler shall create a Session (Proton) object from the connection] Session ssn = conn.session(); // If a link doesn't have an event handler, the events go to // its parent session. If the session doesn't have a handler // the events go to its parent connection. If the connection // doesn't have a handler, the events go to the reactor. // Codes_SRS_SERVICE_SDK_JAVA_AMQPFILEUPLOADNOTIFICATIONRECEIVEDHANDLER_25_013: [The event handler shall create a Receiver (Proton) object and set the protocol tag on it to a predefined constant] // Codes_SRS_SERVICE_SDK_JAVA_AMQPFILEUPLOADNOTIFICATIONRECEIVEDHANDLER_25_017: [The Receiver object shall have the properties set to service client version identifier.] Map<Symbol, Object> properties = new HashMap<>(); properties.put(Symbol.getSymbol(TransportUtils.versionIdentifierKey), TransportUtils.USER_AGENT_STRING); Receiver notificationReceiver = ssn.receiver(FILE_NOTIFICATION_RECEIVE_TAG); notificationReceiver.setProperties(properties); // Codes_SRS_SERVICE_SDK_JAVA_AMQPFILEUPLOADNOTIFICATIONRECEIVEDHANDLER_25_014: [The event handler shall open the Connection, the Session and the Receiver object] conn.open(); ssn.open(); notificationReceiver.open(); }
@Override public void onConnectionInit(Event event) { // Codes_SRS_SERVICE_SDK_JAVA_AMQPFEEDBACKRECEIVEDHANDLER_12_011: [The event handler shall set the host name on the connection] Connection conn = event.getConnection(); conn.setHostname(hostName); // Every session or link could have their own handler(s) if we // wanted simply by adding the handler to the given session // or link // Codes_SRS_SERVICE_SDK_JAVA_AMQPFEEDBACKRECEIVEDHANDLER_12_012: [The event handler shall create a Session (Proton) object from the connection] Session ssn = conn.session(); // If a link doesn't have an event handler, the events go to // its parent session. If the session doesn't have a handler // the events go to its parent connection. If the connection // doesn't have a handler, the events go to the reactor. // Codes_SRS_SERVICE_SDK_JAVA_AMQPFEEDBACKRECEIVEDHANDLER_12_013: [The event handler shall create a Receiver (Proton) object and set the protocol tag on it to a predefined constant] // Codes_SRS_SERVICE_SDK_JAVA_AMQPFEEDBACKRECEIVEDHANDLER_15_017: [The Receiver object shall have the properties set to service client version identifier.] Map<Symbol, Object> properties = new HashMap<>(); properties.put(Symbol.getSymbol(TransportUtils.versionIdentifierKey), TransportUtils.USER_AGENT_STRING); Receiver receiver = ssn.receiver(RECEIVE_TAG); receiver.setProperties(properties); // Codes_SRS_SERVICE_SDK_JAVA_AMQPFEEDBACKRECEIVEDHANDLER_12_014: [The event handler shall open the Connection, the Session and the Receiver object] conn.open(); ssn.open(); receiver.open(); }
public AmqpReceiver createReceiver(Source source, QoS qos, int prefetch, String name) { assertExecuting(); Receiver receiver = session.receiver(name); receiver.setSource(source); // Target target = new Target(); // target.setAddress(UUID.randomUUID().toString()); // receiver.setTarget(target); receiver.flow(prefetch); configureQos(receiver, qos); receiver.open(); pumpOut(); return new AmqpReceiver(this, receiver, qos); }
receiver.open(); this.receiveLink = receiver; this.underlyingFactory.registerForConnectionError(this.receiveLink);
/** * Event handler for the connection init event * @param event The Proton Event object. */ @Override public void onConnectionInit(Event event) { // Codes_SRS_AMQPSIOTHUBCONNECTION_15_025: [The event handler shall get the Connection (Proton) object from the event handler and set the host name on the connection.] this.connection = event.getConnection(); this.connection.setHostname(this.hostName); // Codes_SRS_AMQPSIOTHUBCONNECTION_15_026: [The event handler shall create a Session (Proton) object from the connection.] this.session = this.connection.session(); // Codes_SRS_AMQPSIOTHUBCONNECTION_15_027: [The event handler shall create a Receiver and Sender (Proton) links and set the protocol tag on them to a predefined constant.] this.receiver = this.session.receiver(receiveTag); this.sender = this.session.sender(sendTag); // Codes_SRS_AMQPSIOTHUBCONNECTION_15_028: [The Receiver and Sender links shall have the properties set to client version identifier.] Map<Symbol, Object> properties = new HashMap<>(); properties.put(Symbol.getSymbol(versionIdentifierKey), TransportUtils.javaDeviceClientIdentifier + TransportUtils.clientVersion); this.receiver.setProperties(properties); this.sender.setProperties(properties); // Codes_SRS_AMQPSIOTHUBCONNECTION_15_029: [The event handler shall open the connection, session, sender and receiver objects.] this.connection.open(); this.session.open(); receiver.open(); sender.open(); }
public void addTransactionHandler(Coordinator coordinator, Receiver receiver) { ProtonTransactionHandler transactionHandler = new ProtonTransactionHandler(sessionSPI, connection); coordinator.setCapabilities(Symbol.getSymbol("amqp:local-transactions"), Symbol.getSymbol("amqp:multi-txns-per-ssn"), Symbol.getSymbol("amqp:multi-ssns-per-txn")); receiver.setContext(transactionHandler); connection.lock(); try { receiver.open(); receiver.flow(connection.getAmqpCredits()); } finally { connection.unlock(); } }
public void addTransactionHandler(Coordinator coordinator, Receiver receiver) { ProtonTransactionHandler transactionHandler = new ProtonTransactionHandler(sessionSPI, connection); coordinator.setCapabilities(Symbol.getSymbol("amqp:local-transactions"), Symbol.getSymbol("amqp:multi-txns-per-ssn"), Symbol.getSymbol("amqp:multi-ssns-per-txn")); receiver.setContext(transactionHandler); connection.runNow(() -> { receiver.open(); receiver.flow(connection.getAmqpCredits()); connection.flush(); }); }
public void addReceiver(Receiver receiver) throws Exception { try { ProtonServerReceiverContext protonReceiver = new ProtonServerReceiverContext(sessionSPI, connection, this, receiver); protonReceiver.initialise(); receivers.put(receiver, protonReceiver); ServerProducer serverProducer = new ServerProducerImpl(receiver.getName(), "AMQP", receiver.getTarget().getAddress()); sessionSPI.addProducer(serverProducer); receiver.setContext(protonReceiver); connection.runNow(() -> { receiver.open(); connection.flush(); }); } catch (ActiveMQAMQPException e) { receivers.remove(receiver); receiver.setTarget(null); receiver.setCondition(new ErrorCondition(e.getAmqpError(), e.getMessage())); connection.runNow(() -> { receiver.close(); connection.flush(); }); } } }
public void addReceiver(Receiver receiver) throws Exception { try { ProtonServerReceiverContext protonReceiver = new ProtonServerReceiverContext(sessionSPI, connection, this, receiver); protonReceiver.initialise(); receivers.put(receiver, protonReceiver); ServerProducer serverProducer = new ServerProducerImpl(receiver.getName(), "AMQP", receiver.getTarget().getAddress()); sessionSPI.addProducer(serverProducer); receiver.setContext(protonReceiver); connection.lock(); try { receiver.open(); } finally { connection.unlock(); } } catch (ActiveMQAMQPException e) { receivers.remove(receiver); receiver.setTarget(null); receiver.setCondition(new ErrorCondition(e.getAmqpError(), e.getMessage())); connection.lock(); try { receiver.close(); } finally { connection.unlock(); } } } }
this.underlyingFactory.registerForConnectionError(sender); TRACE_LOGGER.debug("RequestReponseLink - opening receive link to {}", this.linkPath); receiver.open(); this.underlyingFactory.registerForConnectionError(receiver);
@Override public AMQPClientReceiverContext createReceiver(String name, String address) throws ActiveMQAMQPException { FutureRunnable futureRunnable = new FutureRunnable(1); ProtonClientReceiverContext amqpReceiver; synchronized (connection.getLock()) { Receiver receiver = session.receiver(name); Source source = new Source(); source.setAddress(address); receiver.setSource(source); amqpReceiver = new ProtonClientReceiverContext(sessionSPI, connection, this, receiver); receiver.setContext(amqpReceiver); amqpReceiver.afterInit(futureRunnable); receiver.open(); } connection.flush(); waitWithTimeout(futureRunnable); return amqpReceiver; } }
receiver.open();
linkReceiver.open(); linkReceiver.flow(sr.initialCredit);
this.receiverLink.open();