├── .asf.yaml ├── .github └── workflows │ └── build.yml ├── .gitignore ├── LICENSE ├── NOTICE ├── README.md ├── apache-qpid-jms ├── pom.xml └── src │ └── main │ └── assembly │ ├── LICENSE │ ├── NOTICE │ ├── README.txt │ ├── bin.xml │ ├── licenses │ ├── jakarta.jms-api.EPL-2.0.txt │ └── slf4j-MIT.txt │ └── src.xml ├── appveyor.yml ├── pom.xml ├── qpid-jms-client ├── .gitignore ├── pom.xml └── src │ ├── main │ ├── filtered-resources │ │ └── org │ │ │ └── apache │ │ │ └── qpid │ │ │ └── jms │ │ │ └── util │ │ │ └── version.txt │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── qpid │ │ │ └── jms │ │ │ ├── JmsAcknowledgeCallback.java │ │ │ ├── JmsClientProperties.java │ │ │ ├── JmsConnection.java │ │ │ ├── JmsConnectionConsumer.java │ │ │ ├── JmsConnectionExtensions.java │ │ │ ├── JmsConnectionFactory.java │ │ │ ├── JmsConnectionListener.java │ │ │ ├── JmsConnectionMetaData.java │ │ │ ├── JmsConnectionRemotelyClosedException.java │ │ │ ├── JmsConsumer.java │ │ │ ├── JmsContext.java │ │ │ ├── JmsDestination.java │ │ │ ├── JmsDurableTopicSubscriber.java │ │ │ ├── JmsLocalTransactionContext.java │ │ │ ├── JmsMessageAvailableConsumer.java │ │ │ ├── JmsMessageAvailableListener.java │ │ │ ├── JmsMessageConsumer.java │ │ │ ├── JmsMessageDispatcher.java │ │ │ ├── JmsMessageProducer.java │ │ │ ├── JmsNoTxTransactionContext.java │ │ │ ├── JmsOperationTimedOutException.java │ │ │ ├── JmsProducer.java │ │ │ ├── JmsQueue.java │ │ │ ├── JmsQueueBrowser.java │ │ │ ├── JmsQueueConnection.java │ │ │ ├── JmsQueueReceiver.java │ │ │ ├── JmsQueueSender.java │ │ │ ├── JmsQueueSession.java │ │ │ ├── JmsResourceNotFoundException.java │ │ │ ├── JmsSendTimedOutException.java │ │ │ ├── JmsSession.java │ │ │ ├── JmsSharedDurableMessageConsumer.java │ │ │ ├── JmsSharedMessageConsumer.java │ │ │ ├── JmsTemporaryDestination.java │ │ │ ├── JmsTemporaryQueue.java │ │ │ ├── JmsTemporaryTopic.java │ │ │ ├── JmsTopic.java │ │ │ ├── JmsTopicConnection.java │ │ │ ├── JmsTopicPublisher.java │ │ │ ├── JmsTopicSession.java │ │ │ ├── JmsTopicSubscriber.java │ │ │ ├── JmsTransactionContext.java │ │ │ ├── JmsTransactionInDoubtException.java │ │ │ ├── JmsTransactionListener.java │ │ │ ├── exceptions │ │ │ ├── IdConversionException.java │ │ │ ├── JMSSecuritySaslException.java │ │ │ ├── JmsConnectionClosedException.java │ │ │ ├── JmsConnectionFailedException.java │ │ │ ├── JmsExceptionSupport.java │ │ │ └── QpidJmsException.java │ │ │ ├── jndi │ │ │ ├── JNDIReferenceFactory.java │ │ │ ├── JNDIStorable.java │ │ │ ├── JmsInitialContextFactory.java │ │ │ ├── LazyCreateContext.java │ │ │ ├── NameParserImpl.java │ │ │ └── ReadOnlyContext.java │ │ │ ├── message │ │ │ ├── JmsBytesMessage.java │ │ │ ├── JmsDefaultUnresolvedDestinationTransformer.java │ │ │ ├── JmsInboundMessageDispatch.java │ │ │ ├── JmsMapMessage.java │ │ │ ├── JmsMessage.java │ │ │ ├── JmsMessageFactory.java │ │ │ ├── JmsMessageIDBuilder.java │ │ │ ├── JmsMessagePropertyIntercepter.java │ │ │ ├── JmsMessagePropertySupport.java │ │ │ ├── JmsMessageSupport.java │ │ │ ├── JmsMessageTransformation.java │ │ │ ├── JmsObjectMessage.java │ │ │ ├── JmsOutboundMessageDispatch.java │ │ │ ├── JmsStreamMessage.java │ │ │ ├── JmsTextMessage.java │ │ │ ├── JmsUnresolvedDestinationTransformer.java │ │ │ └── facade │ │ │ │ ├── JmsBytesMessageFacade.java │ │ │ │ ├── JmsMapMessageFacade.java │ │ │ │ ├── JmsMessageFacade.java │ │ │ │ ├── JmsObjectMessageFacade.java │ │ │ │ ├── JmsStreamMessageFacade.java │ │ │ │ └── JmsTextMessageFacade.java │ │ │ ├── meta │ │ │ ├── JmsAbstractResource.java │ │ │ ├── JmsAbstractResourceId.java │ │ │ ├── JmsConnectionId.java │ │ │ ├── JmsConnectionInfo.java │ │ │ ├── JmsConsumerId.java │ │ │ ├── JmsConsumerInfo.java │ │ │ ├── JmsDefaultResourceVisitor.java │ │ │ ├── JmsProducerId.java │ │ │ ├── JmsProducerInfo.java │ │ │ ├── JmsResource.java │ │ │ ├── JmsResourceId.java │ │ │ ├── JmsResourceVistor.java │ │ │ ├── JmsSessionId.java │ │ │ ├── JmsSessionInfo.java │ │ │ ├── JmsTransactionId.java │ │ │ └── JmsTransactionInfo.java │ │ │ ├── package.html │ │ │ ├── policy │ │ │ ├── JmsDefaultDeserializationPolicy.java │ │ │ ├── JmsDefaultMessageIDPolicy.java │ │ │ ├── JmsDefaultPrefetchPolicy.java │ │ │ ├── JmsDefaultPresettlePolicy.java │ │ │ ├── JmsDefaultRedeliveryPolicy.java │ │ │ ├── JmsDeserializationPolicy.java │ │ │ ├── JmsMessageIDPolicy.java │ │ │ ├── JmsPrefetchPolicy.java │ │ │ ├── JmsPresettlePolicy.java │ │ │ └── JmsRedeliveryPolicy.java │ │ │ ├── provider │ │ │ ├── AsyncResult.java │ │ │ ├── BalancedProviderFuture.java │ │ │ ├── ConservativeProviderFuture.java │ │ │ ├── DefaultProviderListener.java │ │ │ ├── NoOpAsyncResult.java │ │ │ ├── ProgressiveProviderFuture.java │ │ │ ├── Provider.java │ │ │ ├── ProviderConstants.java │ │ │ ├── ProviderException.java │ │ │ ├── ProviderFactory.java │ │ │ ├── ProviderFuture.java │ │ │ ├── ProviderFutureFactory.java │ │ │ ├── ProviderListener.java │ │ │ ├── ProviderSynchronization.java │ │ │ ├── ProviderWrapper.java │ │ │ ├── WrappedAsyncResult.java │ │ │ ├── amqp │ │ │ │ ├── AmqpAbstractResource.java │ │ │ │ ├── AmqpAnonymousFallbackProducer.java │ │ │ │ ├── AmqpConnection.java │ │ │ │ ├── AmqpConnectionProperties.java │ │ │ │ ├── AmqpConnectionSession.java │ │ │ │ ├── AmqpConsumer.java │ │ │ │ ├── AmqpEventSink.java │ │ │ │ ├── AmqpExceptionBuilder.java │ │ │ │ ├── AmqpFixedProducer.java │ │ │ │ ├── AmqpProducer.java │ │ │ │ ├── AmqpProtocolTracer.java │ │ │ │ ├── AmqpProvider.java │ │ │ │ ├── AmqpProviderFactory.java │ │ │ │ ├── AmqpRedirect.java │ │ │ │ ├── AmqpResource.java │ │ │ │ ├── AmqpResourceParent.java │ │ │ │ ├── AmqpSaslAuthenticator.java │ │ │ │ ├── AmqpSession.java │ │ │ │ ├── AmqpSubscriptionTracker.java │ │ │ │ ├── AmqpSupport.java │ │ │ │ ├── AmqpTemporaryDestination.java │ │ │ │ ├── AmqpTransactionContext.java │ │ │ │ ├── AmqpTransactionCoordinator.java │ │ │ │ ├── AmqpTransferTagGenerator.java │ │ │ │ ├── builders │ │ │ │ │ ├── AmqpClosedConnectionBuilder.java │ │ │ │ │ ├── AmqpConnectionBuilder.java │ │ │ │ │ ├── AmqpConnectionSessionBuilder.java │ │ │ │ │ ├── AmqpConsumerBuilder.java │ │ │ │ │ ├── AmqpProducerBuilder.java │ │ │ │ │ ├── AmqpResourceBuilder.java │ │ │ │ │ ├── AmqpSessionBuilder.java │ │ │ │ │ ├── AmqpTemporaryDestinationBuilder.java │ │ │ │ │ └── AmqpTransactionCoordinatorBuilder.java │ │ │ │ ├── filters │ │ │ │ │ ├── AmqpJmsNoLocalType.java │ │ │ │ │ └── AmqpJmsSelectorType.java │ │ │ │ └── message │ │ │ │ │ ├── AmqpCodec.java │ │ │ │ │ ├── AmqpDestinationHelper.java │ │ │ │ │ ├── AmqpHeader.java │ │ │ │ │ ├── AmqpJmsBytesMessageFacade.java │ │ │ │ │ ├── AmqpJmsMapMessageFacade.java │ │ │ │ │ ├── AmqpJmsMessageFacade.java │ │ │ │ │ ├── AmqpJmsMessageFactory.java │ │ │ │ │ ├── AmqpJmsMessagePropertyIntercepter.java │ │ │ │ │ ├── AmqpJmsObjectMessageFacade.java │ │ │ │ │ ├── AmqpJmsStreamMessageFacade.java │ │ │ │ │ ├── AmqpJmsTextMessageFacade.java │ │ │ │ │ ├── AmqpMessageIdHelper.java │ │ │ │ │ ├── AmqpMessageSupport.java │ │ │ │ │ ├── AmqpObjectTypeDelegate.java │ │ │ │ │ ├── AmqpReadableBuffer.java │ │ │ │ │ ├── AmqpSerializedObjectDelegate.java │ │ │ │ │ ├── AmqpTypedObjectDelegate.java │ │ │ │ │ └── AmqpWritableBuffer.java │ │ │ ├── exceptions │ │ │ │ ├── ProviderClosedException.java │ │ │ │ ├── ProviderConnectionRedirectedException.java │ │ │ │ ├── ProviderConnectionRemotelyClosedException.java │ │ │ │ ├── ProviderConnectionResourceAllocationException.java │ │ │ │ ├── ProviderConnectionResourceNotFoundException.java │ │ │ │ ├── ProviderConnectionSecurityException.java │ │ │ │ ├── ProviderConnectionSecuritySaslException.java │ │ │ │ ├── ProviderDeliveryModifiedException.java │ │ │ │ ├── ProviderDeliveryReleasedException.java │ │ │ │ ├── ProviderExceptionSupport.java │ │ │ │ ├── ProviderFailedException.java │ │ │ │ ├── ProviderIOException.java │ │ │ │ ├── ProviderIdleTimeoutException.java │ │ │ │ ├── ProviderIllegalStateException.java │ │ │ │ ├── ProviderInvalidClientIDException.java │ │ │ │ ├── ProviderInvalidDestinationException.java │ │ │ │ ├── ProviderOperationTimedOutException.java │ │ │ │ ├── ProviderResourceAllocationException.java │ │ │ │ ├── ProviderResourceClosedException.java │ │ │ │ ├── ProviderResourceNotFoundException.java │ │ │ │ ├── ProviderSecurityException.java │ │ │ │ ├── ProviderSendTimedOutException.java │ │ │ │ ├── ProviderTransactionInDoubtException.java │ │ │ │ ├── ProviderTransactionRolledBackException.java │ │ │ │ └── ProviderUnsupportedOperationException.java │ │ │ └── failover │ │ │ │ ├── FailoverProvider.java │ │ │ │ ├── FailoverProviderFactory.java │ │ │ │ └── FailoverUriPool.java │ │ │ ├── sasl │ │ │ ├── AbstractMechanism.java │ │ │ ├── AbstractScramSHAMechanism.java │ │ │ ├── AnonymousMechanism.java │ │ │ ├── AnonymousMechanismFactory.java │ │ │ ├── CramMD5Mechanism.java │ │ │ ├── CramMD5MechanismFactory.java │ │ │ ├── ExternalMechanism.java │ │ │ ├── ExternalMechanismFactory.java │ │ │ ├── GssapiMechanism.java │ │ │ ├── GssapiMechanismFactory.java │ │ │ ├── Mechanism.java │ │ │ ├── MechanismFactory.java │ │ │ ├── PlainMechanism.java │ │ │ ├── PlainMechanismFactory.java │ │ │ ├── SaslMechanismFinder.java │ │ │ ├── SaslSecurityRuntimeException.java │ │ │ ├── ScramSHA1Mechanism.java │ │ │ ├── ScramSHA1MechanismFactory.java │ │ │ ├── ScramSHA256Mechanism.java │ │ │ ├── ScramSHA256MechanismFactory.java │ │ │ ├── ScramSHA512Mechanism.java │ │ │ ├── ScramSHA512MechanismFactory.java │ │ │ ├── XOauth2Mechanism.java │ │ │ └── XOauth2MechanismFactory.java │ │ │ ├── selector │ │ │ ├── SelectorParser.java │ │ │ ├── filter │ │ │ │ ├── ArithmeticExpression.java │ │ │ │ ├── BinaryExpression.java │ │ │ │ ├── BooleanExpression.java │ │ │ │ ├── ComparisonExpression.java │ │ │ │ ├── ConstantExpression.java │ │ │ │ ├── Expression.java │ │ │ │ ├── FilterException.java │ │ │ │ ├── Filterable.java │ │ │ │ ├── LogicExpression.java │ │ │ │ ├── PropertyExpression.java │ │ │ │ ├── UnaryExpression.java │ │ │ │ └── package.html │ │ │ └── parser │ │ │ │ ├── ParseException.java │ │ │ │ ├── SelectorParserImpl.java │ │ │ │ ├── SelectorParserImplConstants.java │ │ │ │ ├── SelectorParserImplTokenManager.java │ │ │ │ ├── SimpleCharStream.java │ │ │ │ ├── Token.java │ │ │ │ └── TokenMgrError.java │ │ │ ├── tracing │ │ │ ├── JmsNoOpTracer.java │ │ │ ├── JmsNoOpTracerFactory.java │ │ │ ├── JmsTracer.java │ │ │ ├── JmsTracerFactory.java │ │ │ ├── TraceableMessage.java │ │ │ └── opentracing │ │ │ │ ├── OpenTracingTracer.java │ │ │ │ └── OpenTracingTracerFactory.java │ │ │ ├── transports │ │ │ ├── Transport.java │ │ │ ├── TransportFactory.java │ │ │ ├── TransportListener.java │ │ │ ├── TransportOptions.java │ │ │ ├── TransportSupport.java │ │ │ ├── X509AliasKeyManager.java │ │ │ └── netty │ │ │ │ ├── EpollSupport.java │ │ │ │ ├── EventLoopGroupRef.java │ │ │ │ ├── EventLoopType.java │ │ │ │ ├── KQueueSupport.java │ │ │ │ ├── NettyEventLoopGroupFactory.java │ │ │ │ ├── NettySslTransportFactory.java │ │ │ │ ├── NettyTcpTransport.java │ │ │ │ ├── NettyTcpTransportFactory.java │ │ │ │ ├── NettyWsTransport.java │ │ │ │ ├── NettyWsTransportFactory.java │ │ │ │ └── NettyWssTransportFactory.java │ │ │ └── util │ │ │ ├── ClassLoadingAwareObjectInputStream.java │ │ │ ├── ContentTypeSupport.java │ │ │ ├── FactoryFinder.java │ │ │ ├── FifoMessageQueue.java │ │ │ ├── IOExceptionSupport.java │ │ │ ├── IdGenerator.java │ │ │ ├── InetAddressUtil.java │ │ │ ├── InvalidContentTypeException.java │ │ │ ├── LRUCache.java │ │ │ ├── MessageQueue.java │ │ │ ├── MetaDataSupport.java │ │ │ ├── NoOpExecutor.java │ │ │ ├── PriorityMessageQueue.java │ │ │ ├── PropertyUtil.java │ │ │ ├── QpidJMSThreadFactory.java │ │ │ ├── ResourceNotFoundException.java │ │ │ ├── StopWatch.java │ │ │ ├── StringArrayConverter.java │ │ │ ├── ThreadPoolUtils.java │ │ │ ├── TimeUtils.java │ │ │ ├── TypeConversionSupport.java │ │ │ ├── URISupport.java │ │ │ └── VariableExpansion.java │ ├── javacc │ │ └── SelectorParserImpl.jj │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org │ │ └── apache │ │ └── qpid │ │ └── jms │ │ ├── provider │ │ ├── amqp │ │ ├── amqps │ │ ├── amqpws │ │ ├── amqpwss │ │ ├── failover │ │ └── redirects │ │ │ ├── ws │ │ │ └── wss │ │ ├── sasl │ │ ├── ANONYMOUS │ │ ├── CRAM-MD5 │ │ ├── EXTERNAL │ │ ├── GSSAPI │ │ ├── PLAIN │ │ ├── SCRAM-SHA-1 │ │ ├── SCRAM-SHA-256 │ │ ├── SCRAM-SHA-512 │ │ └── XOAUTH2 │ │ ├── tracing │ │ ├── noop │ │ └── opentracing │ │ └── transports │ │ ├── ssl │ │ ├── tcp │ │ ├── ws │ │ └── wss │ ├── site │ └── findbugs-exclude.xml │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── qpid │ │ └── jms │ │ ├── JmsConnectionClosedTest.java │ │ ├── JmsConnectionFactoryTest.java │ │ ├── JmsConnectionFailedTest.java │ │ ├── JmsConnectionTest.java │ │ ├── JmsConnectionTestSupport.java │ │ ├── JmsContextTest.java │ │ ├── JmsDefaultConnectionListener.java │ │ ├── JmsQueueConnectionTest.java │ │ ├── JmsQueueTest.java │ │ ├── JmsSessionTest.java │ │ ├── JmsTemporaryQueueTest.java │ │ ├── JmsTemporaryTopicTest.java │ │ ├── JmsTopicConnectionTest.java │ │ ├── JmsTopicTest.java │ │ ├── SerializationTestSupport.java │ │ ├── consumer │ │ ├── JmsConsumerTest.java │ │ ├── JmsMessageConsumerClosedTest.java │ │ ├── JmsMessageConsumerFailedTest.java │ │ ├── JmsQueueBrowserTest.java │ │ ├── JmsQueueReceiverClosedTest.java │ │ ├── JmsQueueReceiverTest.java │ │ ├── JmsTopicSubscriberClosedTest.java │ │ └── JmsTopicSubscriberTest.java │ │ ├── exceptions │ │ └── JmsExceptionSupportTest.java │ │ ├── integration │ │ ├── AmqpAcknowledgementsIntegrationTest.java │ │ ├── AnonymousFallbackProducerIntegrationTest.java │ │ ├── BytesMessageIntegrationTest.java │ │ ├── ConnectionConsumerIntegrationTest.java │ │ ├── ConnectionFactoryIntegrationTest.java │ │ ├── ConnectionIntegrationTest.java │ │ ├── ConsumerIntegrationTest.java │ │ ├── FailedConnectionsIntegrationTest.java │ │ ├── ForeignMessageIntegrationTest.java │ │ ├── IdleTimeoutIntegrationTest.java │ │ ├── IntegrationTestFixture.java │ │ ├── JMSConsumerIntegrationTest.java │ │ ├── JMSContextIntegrationTest.java │ │ ├── JMSProducerIntegrationTest.java │ │ ├── MapMessageIntegrationTest.java │ │ ├── MessageExpirationIntegrationTest.java │ │ ├── MessageIntegrationTest.java │ │ ├── MultiTransferFrameMessageIntegrationTest.java │ │ ├── NoAckSessionIntegrationTest.java │ │ ├── ObjectMessageIntegrationTest.java │ │ ├── PresettledConsumerIntegrationTest.java │ │ ├── PresettledProducerIntegrationTest.java │ │ ├── ProducerIntegrationTest.java │ │ ├── ProxyIntegrationTest.java │ │ ├── QueueBrowserIntegrationTest.java │ │ ├── SaslGssApiIntegrationTest.java │ │ ├── SaslIntegrationTest.java │ │ ├── SessionIntegrationTest.java │ │ ├── SslIntegrationTest.java │ │ ├── StreamMessageIntegrationTest.java │ │ ├── SubscriptionsIntegrationTest.java │ │ ├── TextMessageIntegrationTest.java │ │ ├── TransactionsIntegrationTest.java │ │ ├── WsIntegrationTest.java │ │ └── ZeroPrefetchIntegrationTest.java │ │ ├── jndi │ │ ├── JNDIReferenceFactoryTest.java │ │ └── JmsInitialContextFactoryTest.java │ │ ├── message │ │ ├── JmsBytesMessageTest.java │ │ ├── JmsDefaultUnresolvedDestinationTransformerTest.java │ │ ├── JmsInboundMessageDispatchTest.java │ │ ├── JmsMapMessageTest.java │ │ ├── JmsMessagePropertyIntercepterTest.java │ │ ├── JmsMessageTest.java │ │ ├── JmsMessageTransformationTest.java │ │ ├── JmsObjectMessageTest.java │ │ ├── JmsOutboundMessageDispatchTest.java │ │ ├── JmsStreamMessageTest.java │ │ ├── JmsTextMessageTest.java │ │ ├── facade │ │ │ └── test │ │ │ │ ├── JmsTestBytesMessageFacade.java │ │ │ │ ├── JmsTestMapMessageFacade.java │ │ │ │ ├── JmsTestMessageFacade.java │ │ │ │ ├── JmsTestMessageFactory.java │ │ │ │ ├── JmsTestObjectMessageFacade.java │ │ │ │ ├── JmsTestStreamMessageFacade.java │ │ │ │ └── JmsTestTextMessageFacade.java │ │ └── foreign │ │ │ ├── ForeignJmsBytesMessage.java │ │ │ ├── ForeignJmsMapMessage.java │ │ │ ├── ForeignJmsMessage.java │ │ │ ├── ForeignJmsObjectMessage.java │ │ │ ├── ForeignJmsStreamMessage.java │ │ │ └── ForeignJmsTextMessage.java │ │ ├── meta │ │ ├── JmsConnectionIdTest.java │ │ ├── JmsConnectionInfoTest.java │ │ ├── JmsConsumerIdTest.java │ │ ├── JmsConsumerInfoTest.java │ │ ├── JmsDefaultResourceVisitorTest.java │ │ ├── JmsProducerIdTest.java │ │ ├── JmsProducerInfoTest.java │ │ ├── JmsSessionIdTest.java │ │ ├── JmsSessionInfoTest.java │ │ ├── JmsTransactionIdTest.java │ │ └── JmsTransactionInfoTest.java │ │ ├── policy │ │ ├── JmsDefaultDeserializationPolicyTest.java │ │ ├── JmsDefaultPrefetchPolicyTest.java │ │ ├── JmsDefaultPresettlePolicyTest.java │ │ └── JmsDefaultRedeliveryPolicyTest.java │ │ ├── producer │ │ ├── JmsMessageProducerClosedTest.java │ │ ├── JmsMessageProducerFailedTest.java │ │ ├── JmsMessageProducerTest.java │ │ ├── JmsProducerTest.java │ │ ├── JmsQueueSenderClosedTest.java │ │ ├── JmsQueueSenderTest.java │ │ ├── JmsTopicPublisherClosedTest.java │ │ └── JmsTopicPublisherTest.java │ │ ├── provider │ │ ├── NoOpAsyncResultTest.java │ │ ├── ProviderFutureFactoryTest.java │ │ ├── ProviderFutureTest.java │ │ ├── ProviderWrapperTest.java │ │ ├── WrappedAsyncResultTest.java │ │ ├── amqp │ │ │ ├── AmqpProviderFactoryTest.java │ │ │ ├── AmqpProviderTest.java │ │ │ ├── AmqpSaslAuthenticatorTest.java │ │ │ ├── AmqpSubscriptionTrackerTest.java │ │ │ ├── AmqpSupportTest.java │ │ │ ├── AmqpTransferTagGeneratorTest.java │ │ │ └── message │ │ │ │ ├── AmqpCodecTest.java │ │ │ │ ├── AmqpDestinationHelperTest.java │ │ │ │ ├── AmqpHeaderTest.java │ │ │ │ ├── AmqpJmsBytesMessageFacadeTest.java │ │ │ │ ├── AmqpJmsMapMessageFacadeTest.java │ │ │ │ ├── AmqpJmsMessageFacadeTest.java │ │ │ │ ├── AmqpJmsMessageFactoryTest.java │ │ │ │ ├── AmqpJmsMessagePropertyIntercepterTest.java │ │ │ │ ├── AmqpJmsMessageTypesTestCase.java │ │ │ │ ├── AmqpJmsObjectMessageFacadeTest.java │ │ │ │ ├── AmqpJmsStreamMessageFacadeTest.java │ │ │ │ ├── AmqpJmsTextMessageFacadeTest.java │ │ │ │ ├── AmqpMessageIdHelperTest.java │ │ │ │ ├── AmqpMessageSupportTest.java │ │ │ │ ├── AmqpReadableBufferTest.java │ │ │ │ └── AmqpWritableBufferTest.java │ │ ├── failover │ │ │ ├── FailoverIntegrationTest.java │ │ │ ├── FailoverProviderClosedTest.java │ │ │ ├── FailoverProviderOfflineBehaviorTest.java │ │ │ ├── FailoverProviderTest.java │ │ │ ├── FailoverProviderTestSupport.java │ │ │ ├── FailoverRedirectTest.java │ │ │ ├── FailoverSocketLevelAcceptFailures.java │ │ │ ├── FailoverUriPoolTest.java │ │ │ ├── FailoverWithAmqpOpenProvidedServerListIntegrationTest.java │ │ │ └── FiloverProviderFactoryTest.java │ │ └── mock │ │ │ ├── MockProvider.java │ │ │ ├── MockProviderConfiguration.java │ │ │ ├── MockProviderFactory.java │ │ │ ├── MockProviderListener.java │ │ │ ├── MockProviderStats.java │ │ │ ├── MockRemotePeer.java │ │ │ └── ResourceLifecycleFilter.java │ │ ├── sasl │ │ ├── AbstractMechanismTest.java │ │ ├── AbstractScramSHAMechanismTestBase.java │ │ ├── AnonymousMechanismTest.java │ │ ├── CramMD5MechanismTest.java │ │ ├── ExternalMechanismTest.java │ │ ├── GssapiMechanismTest.java │ │ ├── PlainMechanismTest.java │ │ ├── ScramSHA1MechanismTest.java │ │ ├── ScramSHA256MechanismTest.java │ │ ├── ScramSHA512MechanismTest.java │ │ └── XOauth2MechanismTest.java │ │ ├── selector │ │ └── SelectorParserTest.java │ │ ├── session │ │ ├── JmsQueueSessionClosedTest.java │ │ ├── JmsQueueSessionTest.java │ │ ├── JmsSessionClosedTest.java │ │ ├── JmsSessionFailedTest.java │ │ ├── JmsTopicSessionClosedTest.java │ │ └── JmsTopicSessionTest.java │ │ ├── test │ │ ├── QpidJmsTestCase.java │ │ ├── Wait.java │ │ ├── proxy │ │ │ └── TestProxy.java │ │ └── testpeer │ │ │ ├── AbstractFieldAndDescriptorMatcher.java │ │ │ ├── AbstractFrameFieldAndPayloadMatchingHandler.java │ │ │ ├── AmqpDataFramer.java │ │ │ ├── AmqpPeerRunnable.java │ │ │ ├── CompositeAmqpPeerRunnable.java │ │ │ ├── DescriptorMatcher.java │ │ │ ├── FrameHandler.java │ │ │ ├── FrameSender.java │ │ │ ├── FrameType.java │ │ │ ├── FrameWithNoPayloadMatchingHandler.java │ │ │ ├── FrameWithPayloadMatchingHandler.java │ │ │ ├── Handler.java │ │ │ ├── HeaderHandler.java │ │ │ ├── HeaderHandlerImpl.java │ │ │ ├── ListDescribedType.java │ │ │ ├── MapDescribedType.java │ │ │ ├── TestAmqpPeer.java │ │ │ ├── TestAmqpPeerRunner.java │ │ │ ├── TestFrameParser.java │ │ │ ├── ValueProvider.java │ │ │ ├── basictypes │ │ │ ├── AmqpError.java │ │ │ ├── ConnectionError.java │ │ │ ├── LinkError.java │ │ │ ├── ReceiverSettleMode.java │ │ │ ├── Role.java │ │ │ ├── SenderSettleMode.java │ │ │ ├── SessionError.java │ │ │ ├── StdDistMode.java │ │ │ ├── TerminusDurability.java │ │ │ ├── TerminusExpiryPolicy.java │ │ │ ├── TransactionError.java │ │ │ ├── TxnCapability.java │ │ │ └── generate-types.xsl │ │ │ ├── describedtypes │ │ │ ├── Accepted.java │ │ │ ├── AttachFrame.java │ │ │ ├── BeginFrame.java │ │ │ ├── CloseFrame.java │ │ │ ├── Coordinator.java │ │ │ ├── Declare.java │ │ │ ├── Declared.java │ │ │ ├── DeleteOnClose.java │ │ │ ├── DeleteOnNoLinks.java │ │ │ ├── DeleteOnNoLinksOrMessages.java │ │ │ ├── DeleteOnNoMessages.java │ │ │ ├── DetachFrame.java │ │ │ ├── Discharge.java │ │ │ ├── DispositionFrame.java │ │ │ ├── EndFrame.java │ │ │ ├── Error.java │ │ │ ├── FlowFrame.java │ │ │ ├── FrameDescriptorMapping.java │ │ │ ├── Modified.java │ │ │ ├── OpenFrame.java │ │ │ ├── Received.java │ │ │ ├── Rejected.java │ │ │ ├── Released.java │ │ │ ├── SaslChallengeFrame.java │ │ │ ├── SaslInitFrame.java │ │ │ ├── SaslMechanismsFrame.java │ │ │ ├── SaslOutcomeFrame.java │ │ │ ├── SaslResponseFrame.java │ │ │ ├── Source.java │ │ │ ├── Target.java │ │ │ ├── TransactionalState.java │ │ │ ├── TransferFrame.java │ │ │ ├── generate-described-types.xsl │ │ │ └── sections │ │ │ │ ├── AmqpValueDescribedType.java │ │ │ │ ├── ApplicationPropertiesDescribedType.java │ │ │ │ ├── DataDescribedType.java │ │ │ │ ├── HeaderDescribedType.java │ │ │ │ ├── MessageAnnotationsDescribedType.java │ │ │ │ ├── PropertiesDescribedType.java │ │ │ │ └── generate-list-sections.xsl │ │ │ └── matchers │ │ │ ├── AcceptedMatcher.java │ │ │ ├── AttachMatcher.java │ │ │ ├── BeginMatcher.java │ │ │ ├── CloseMatcher.java │ │ │ ├── CoordinatorMatcher.java │ │ │ ├── DeclaredMatcher.java │ │ │ ├── DeleteOnCloseMatcher.java │ │ │ ├── DeleteOnNoLinksMatcher.java │ │ │ ├── DeleteOnNoLinksOrMessagesMatcher.java │ │ │ ├── DeleteOnNoMessagesMatcher.java │ │ │ ├── DescribedTypeMatcher.java │ │ │ ├── DetachMatcher.java │ │ │ ├── DispositionMatcher.java │ │ │ ├── EndMatcher.java │ │ │ ├── ErrorMatcher.java │ │ │ ├── FlowMatcher.java │ │ │ ├── ModifiedMatcher.java │ │ │ ├── OpenMatcher.java │ │ │ ├── RejectedMatcher.java │ │ │ ├── ReleasedMatcher.java │ │ │ ├── SaslChallengeMatcher.java │ │ │ ├── SaslInitMatcher.java │ │ │ ├── SaslMechanismsMatcher.java │ │ │ ├── SaslOutcomeMatcher.java │ │ │ ├── SaslResponseMatcher.java │ │ │ ├── SourceMatcher.java │ │ │ ├── TargetMatcher.java │ │ │ ├── TransactionalStateMatcher.java │ │ │ ├── TransferMatcher.java │ │ │ ├── generate-matchers.xsl │ │ │ ├── sections │ │ │ ├── AbstractMessageSectionMatcher.java │ │ │ ├── ApplicationPropertiesSectionMatcher.java │ │ │ ├── MessageAnnotationsSectionMatcher.java │ │ │ ├── MessageHeaderSectionMatcher.java │ │ │ ├── MessageListSectionMatcher.java │ │ │ ├── MessageMapSectionMatcher.java │ │ │ ├── MessagePropertiesSectionMatcher.java │ │ │ ├── TransferPayloadCompositeMatcher.java │ │ │ └── generate-message-section-matchers.xsl │ │ │ └── types │ │ │ ├── EncodedAmqpSequenceMatcher.java │ │ │ ├── EncodedAmqpTypeMatcher.java │ │ │ ├── EncodedAmqpValueMatcher.java │ │ │ └── EncodedDataMatcher.java │ │ ├── tracing │ │ ├── JmsNoopTracerFactoryTest.java │ │ └── opentracing │ │ │ ├── OpenTracingIntegrationTest.java │ │ │ ├── OpenTracingTracerFactoryTest.java │ │ │ └── OpenTracingTracerTest.java │ │ ├── transports │ │ ├── TransportOptionsTest.java │ │ ├── TransportSupportTest.java │ │ ├── X509AliasKeyManagerTest.java │ │ └── netty │ │ │ ├── NettyBlackHoleServer.java │ │ │ ├── NettyEchoServer.java │ │ │ ├── NettyOpenSSLWssTransportTest.java │ │ │ ├── NettyOpenSslTransportTest.java │ │ │ ├── NettyServer.java │ │ │ ├── NettySimpleAmqpServer.java │ │ │ ├── NettySslTransportFactoryTest.java │ │ │ ├── NettySslTransportTest.java │ │ │ ├── NettyTcpToMockServerTest.java │ │ │ ├── NettyTcpTransportFactoryTest.java │ │ │ ├── NettyTcpTransportTest.java │ │ │ ├── NettyWsTransportTest.java │ │ │ └── NettyWssTransportTest.java │ │ └── util │ │ ├── AnonymousSimplePojoParent.java │ │ ├── ClassLoadingAwareObjectInputStreamTest.java │ │ ├── ContentTypeSupportTest.java │ │ ├── FactoryFinderTest.java │ │ ├── FifoMessageQueueTest.java │ │ ├── IOExceptionSupportTest.java │ │ ├── IdGeneratorTest.java │ │ ├── LRUCacheTest.java │ │ ├── LocalSimplePojoParent.java │ │ ├── PriorityMessageQueueTest.java │ │ ├── PropertyUtilTest.java │ │ ├── SimplePojo.java │ │ ├── StopWatchTest.java │ │ ├── StringArrayConverterTest.java │ │ ├── ThreadPoolUtilsTest.java │ │ ├── TypeConversionSupportTest.java │ │ ├── URISupportTest.java │ │ └── VariableExpansionTest.java │ └── resources │ ├── META-INF │ └── services │ │ └── org │ │ └── apache │ │ └── qpid │ │ └── jms │ │ └── provider │ │ └── mock │ ├── README.txt │ ├── SaslGssApiIntegrationTest-login.config │ ├── broker-pkcs12.keystore │ ├── broker-pkcs12.truststore │ ├── broker-wrong-host-jks.keystore │ ├── broker-wrong-host-pkcs12.keystore │ ├── broker-wrong-host.crt │ ├── broker-wrong-host.csr │ ├── broker.crt │ ├── broker.csr │ ├── ca-pkcs12.keystore │ ├── ca.crt │ ├── client-jceks.keystore │ ├── client-jceks.truststore │ ├── client-jks.keystore │ ├── client-jks.truststore │ ├── client-multiple-keys-jks.keystore │ ├── client-pkcs12.keystore │ ├── client-pkcs12.truststore │ ├── client.crt │ ├── client.csr │ ├── client2-jks.keystore │ ├── client2.crt │ ├── client2.csr │ ├── minikdc-krb5-template.conf │ ├── other-ca-jks.truststore │ ├── other-ca.crt │ └── simplelogger.properties ├── qpid-jms-discovery ├── .gitignore ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── qpid │ │ │ └── jms │ │ │ └── provider │ │ │ └── discovery │ │ │ ├── DiscoveryAgent.java │ │ │ ├── DiscoveryAgentFactory.java │ │ │ ├── DiscoveryListener.java │ │ │ ├── DiscoveryProvider.java │ │ │ ├── DiscoveryProviderFactory.java │ │ │ ├── file │ │ │ ├── FileWatcherDiscoveryAgent.java │ │ │ └── FileWatcherDiscoveryAgentFactory.java │ │ │ └── multicast │ │ │ ├── DiscoveryEvent.java │ │ │ ├── MulticastDiscoveryAgent.java │ │ │ ├── MulticastDiscoveryAgentFactory.java │ │ │ ├── PacketParser.java │ │ │ ├── PacketParserFactory.java │ │ │ └── parsers │ │ │ ├── ActiveMQPacketParser.java │ │ │ └── ActiveMQPacketParserFactory.java │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org │ │ └── apache │ │ └── qpid │ │ └── jms │ │ └── provider │ │ ├── agents │ │ ├── file │ │ ├── multicast │ │ └── multicast-parsers │ │ │ └── activemq │ │ └── discovery │ └── test │ └── java │ └── org │ └── apache │ └── qpid │ └── jms │ └── provider │ └── discovery │ └── DiscoveryProviderFactoryTest.java ├── qpid-jms-docs ├── Configuration.md ├── README.txt └── pom.xml ├── qpid-jms-examples ├── .gitignore ├── README.txt ├── pom.xml └── src │ └── main │ ├── java │ └── org │ │ └── apache │ │ └── qpid │ │ └── jms │ │ └── example │ │ ├── Client.java │ │ ├── HelloWorld.java │ │ ├── Receiver.java │ │ ├── Sender.java │ │ └── Server.java │ └── resources │ ├── jndi.properties │ └── simplelogger.properties └── qpid-jms-interop-tests ├── .gitignore ├── README.md ├── pom.xml └── qpid-jms-activemq-tests ├── .gitignore ├── pom.xml └── src └── test ├── java └── org │ └── apache │ └── qpid │ └── jms │ ├── JmsConnectionCloseVariationsTest.java │ ├── JmsConnectionConcurrentCloseCallsTest.java │ ├── JmsConnectionInRandomBatchesTest.java │ ├── JmsConnectionTest.java │ ├── JmsMessageIntegrityTest.java │ ├── JmsQueueConnectionTest.java │ ├── JmsSSLConnectionTest.java │ ├── JmsTopicConnectionTest.java │ ├── JmsWSConnectionTest.java │ ├── JmsWSSConnectionTest.java │ ├── bench │ ├── ConsumeFromAMQPTest.java │ ├── ProduceToAMQPTest.java │ ├── ProduceToOpenWireTest.java │ ├── ProducerAndConsumerBench.java │ └── TransactedProducerSendRateTest.java │ ├── consumer │ ├── JmsAutoAckTest.java │ ├── JmsClientAckTest.java │ ├── JmsConsumerPriorityDispatchTest.java │ ├── JmsDupsOkTest.java │ ├── JmsDurableSubscriberTest.java │ ├── JmsMessageConsumerTest.java │ ├── JmsMessageGroupTest.java │ ├── JmsQueueBrowserTest.java │ └── JmsZeroPrefetchTest.java │ ├── destinations │ ├── JmsTemporaryQueueTest.java │ └── JmsTemporaryTopicTest.java │ ├── discovery │ ├── FileWatcherDiscoveryTest.java │ ├── JmsAmqpDiscoveryTest.java │ └── JmsDiscoveryProviderTest.java │ ├── failover │ ├── JmsFailoverTest.java │ ├── JmsOfflineBehaviorTests.java │ ├── JmsTxConsumerFailoverTest.java │ └── JmsTxProducerFailoverTest.java │ ├── producer │ ├── JmsAnonymousProducerTest.java │ ├── JmsMessageProducerTest.java │ ├── JmsProduceMessageTypesTest.java │ ├── JmsProducerFlowControlFailIfNoSpaceTest.java │ ├── JmsQueueSenderTest.java │ └── JmsTopicPublisherTest.java │ ├── session │ └── JmsSessionTest.java │ ├── support │ ├── AmqpTestSupport.java │ ├── MulticastTestSupport.java │ ├── QpidJmsTestSupport.java │ └── Wait.java │ ├── transactions │ ├── JmsTransactedConsumerTest.java │ ├── JmsTransactedProducerTest.java │ ├── JmsTransactedSessionTest.java │ └── JmsTransactionRedeliveryPolicyTest.java │ └── usecases │ ├── JmsLargeMessageSendRecvTimedTest.java │ └── JmsLargeMessagesInGroupsTest.java └── resources ├── README.txt ├── broker-jks.keystore ├── broker.crt ├── broker.csr ├── ca-jks.keystore ├── ca.crt ├── client-jks.truststore ├── simplelogger.properties └── test.properties /.asf.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | github: 18 | description: "Mirror of Apache Qpid JMS" 19 | homepage: https://qpid.apache.org/components/jms 20 | labels: 21 | - qpid 22 | - apache 23 | - amqp 24 | - jms 25 | - messaging 26 | - amqp10 27 | - amqps 28 | - java 29 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: "Build" 2 | 3 | on: [push, pull_request, workflow_dispatch] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-22.04 8 | strategy: 9 | fail-fast: false 10 | matrix: 11 | java: [ 11, 17, 21, 23 ] 12 | 13 | steps: 14 | - uses: actions/checkout@v4 15 | - uses: actions/cache@v4 16 | with: 17 | path: ~/.m2/repository 18 | key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} 19 | restore-keys: | 20 | ${{ runner.os }}-maven- 21 | 22 | - name: Install JDK ${{ matrix.java }} 23 | uses: actions/setup-java@v4 24 | with: 25 | java-version: ${{ matrix.java }} 26 | distribution: 'temurin' 27 | 28 | - name: Build 29 | run: mvn -B clean verify 30 | 31 | - name: Archive Test Logs On Failure 32 | if: failure() 33 | run: tar -czvf surefire-reports-jdk-${{ matrix.java }}.tar.gz **/target/surefire-reports/* 34 | 35 | - name: Upload Test Logs On Failure 36 | if: failure() 37 | uses: actions/upload-artifact@v4 38 | with: 39 | name: surefire-reports-jdk-${{ matrix.java }} 40 | path: surefire-reports-jdk-${{ matrix.java }}.tar.gz 41 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.swp 3 | 4 | # Start of IntelliJ IDE files 5 | .idea 6 | .idea/* 7 | *.iml 8 | *.ipr 9 | *.iws 10 | # End of IntelliJ IDE files 11 | 12 | /build/ 13 | *.class 14 | *.pyc 15 | *.pyo 16 | target 17 | 18 | .DS_Store 19 | 20 | # Start of Eclipse IDE files 21 | .project 22 | .classpath 23 | .settings 24 | .cproject 25 | eclipse-classes 26 | # End of Eclipse IDE files 27 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Apache Qpid JMS 2 | Copyright 2013-2025 The Apache Software Foundation 3 | 4 | This product includes software developed at 5 | The Apache Software Foundation (http://www.apache.org/). 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Qpid JMS 2 | 3 | [Qpid JMS](https://qpid.apache.org/components/jms/) is a JMS 2.0 client that uses 4 | the AMQP 1.0 protocol, enabling it to interact with various AMQP 1.0 servers. 5 | 6 | Below are some quick pointers you might find useful. 7 | 8 | ## Building the code 9 | 10 | The project requires Maven 3. Some example commands follow. 11 | 12 | Clean previous builds output and install all modules to local repository without 13 | running the tests: 14 | 15 | mvn clean install -DskipTests 16 | 17 | Install all modules to the local repository after running all the tests: 18 | 19 | mvn clean install 20 | 21 | Perform a subset tests on the packaged release artifacts without 22 | installing: 23 | 24 | mvn clean verify -Dtest=TestNamePattern* 25 | 26 | Execute the tests and produce code coverage report: 27 | 28 | mvn clean test jacoco:report 29 | 30 | ## Examples 31 | 32 | First build and install all the modules as detailed above (if running against 33 | a source checkout/release, rather than against released binaries) and then 34 | consult the README in the qpid-jms-examples module itself. 35 | 36 | ## Documentation 37 | 38 | Documentation source can be found in the qpid-jms-docs module, with a published 39 | version available on the [website](https://qpid.apache.org/components/jms/). 40 | 41 | ## Distribution assemblies 42 | 43 | After building the modules, src and binary distribution assemblies can be found at: 44 | 45 | apache-qpid-jms/target 46 | 47 | -------------------------------------------------------------------------------- /apache-qpid-jms/src/main/assembly/NOTICE: -------------------------------------------------------------------------------- 1 | Apache Qpid JMS 2 | Copyright 2013-2025 The Apache Software Foundation 3 | 4 | This product includes software developed at 5 | The Apache Software Foundation (http://www.apache.org/). 6 | -------------------------------------------------------------------------------- /apache-qpid-jms/src/main/assembly/README.txt: -------------------------------------------------------------------------------- 1 | Apache Qpid JMS 2 | 3 | 4 | For a basic overview of the client JNDI configuration and 5 | URI options, see the docs directory. 6 | 7 | For examples of using the client, see the examples directory. 8 | 9 | The client artifacts and required dependencies can be found 10 | in the lib directory. 11 | -------------------------------------------------------------------------------- /apache-qpid-jms/src/main/assembly/licenses/slf4j-MIT.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2004-2022 QOS.ch Sarl (Switzerland) 2 | All rights reserved. 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: '{build}' 2 | skip_tags: true 3 | clone_depth: 30 4 | image: 5 | - Visual Studio 2019 6 | 7 | environment: 8 | matrix: 9 | - JAVA_HOME: C:\Program Files\Java\jdk11 10 | 11 | install: 12 | - cmd: SET PATH=%JAVA_HOME%\bin;%PATH% 13 | 14 | build_script: 15 | - mvn clean install -B -DskipTests 16 | 17 | test_script: 18 | - mvn clean install -B 19 | 20 | on_failure: 21 | - ps: | 22 | 7z a -r surefire-reports.zip '**\target\surefire-reports\*' 23 | Push-AppveyorArtifact surefire-reports.zip -DeploymentName 'Surefire Reports' 24 | 25 | on_finish: 26 | - ps: | 27 | $url = "https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)" 28 | $wc = New-Object 'System.Net.WebClient' 29 | $dirs = Get-ChildItem -Filter surefire-reports -Recurse 30 | ForEach ($dir in $dirs) 31 | { 32 | $files = Get-ChildItem -Path $dir.FullName -Filter TEST-*.xml 33 | ForEach ($file in $files) 34 | { 35 | $wc.UploadFile($url, (Resolve-Path $file.FullName)) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /qpid-jms-client/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /target 3 | /target 4 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/filtered-resources/org/apache/qpid/jms/util/version.txt: -------------------------------------------------------------------------------- 1 | ${project.version} -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsClientProperties.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | public class JmsClientProperties { 20 | 21 | /** 22 | * JMS-defined message property representing the user who sent a message. 23 | */ 24 | public static final String JMSXUSERID = "JMSXUserID"; 25 | 26 | /** 27 | * JMS-defined message property representing the group a message belongs to. 28 | */ 29 | public static final String JMSXGROUPID = "JMSXGroupID"; 30 | 31 | /** 32 | * JMS-defined message property representing the sequence number of a message within a group. 33 | */ 34 | public static final String JMSXGROUPSEQ = "JMSXGroupSeq"; 35 | 36 | } 37 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionRemotelyClosedException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | import jakarta.jms.JMSException; 20 | 21 | /** 22 | * Thrown when the remote peer closes the connection with amqp:connection:forced 23 | * signaling that the connection is closed. 24 | */ 25 | public class JmsConnectionRemotelyClosedException extends JMSException { 26 | 27 | private static final long serialVersionUID = -4811726481264524424L; 28 | 29 | public JmsConnectionRemotelyClosedException(String reason) { 30 | super(reason); 31 | } 32 | 33 | public JmsConnectionRemotelyClosedException(String reason, String errorCode) { 34 | super(reason, errorCode); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsDurableTopicSubscriber.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | import jakarta.jms.JMSException; 20 | 21 | import org.apache.qpid.jms.meta.JmsConsumerId; 22 | 23 | /** 24 | * Implementation of a TopicSubscriber that is Durable 25 | */ 26 | public class JmsDurableTopicSubscriber extends JmsTopicSubscriber implements AutoCloseable { 27 | 28 | public JmsDurableTopicSubscriber(JmsConsumerId id, JmsSession s, JmsDestination destination, String name, boolean noLocal, String selector) throws JMSException { 29 | super(id, s, destination, name, noLocal, selector); 30 | } 31 | 32 | @Override 33 | public boolean isDurableSubscription() { 34 | return true; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageAvailableListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | import jakarta.jms.MessageConsumer; 20 | 21 | 22 | /** 23 | * Internal JmsMessage available listener. 24 | */ 25 | public interface JmsMessageAvailableListener { 26 | 27 | /** 28 | * Called when a Message is available to be received by a client 29 | * 30 | * @param consumer 31 | * the MessageConsumer instance that has message available. 32 | */ 33 | public void onMessageAvailable(MessageConsumer consumer); 34 | 35 | } 36 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageDispatcher.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | import org.apache.qpid.jms.message.JmsInboundMessageDispatch; 20 | 21 | public interface JmsMessageDispatcher { 22 | 23 | /** 24 | * Called when a new Message delivery is in progress. 25 | * 26 | * @param envelope 27 | * the incoming message dispatch information. 28 | */ 29 | void onInboundMessage(JmsInboundMessageDispatch envelope); 30 | 31 | } 32 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsOperationTimedOutException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | import jakarta.jms.JMSException; 20 | 21 | /** 22 | * Exception that indicates a blocking operation timed out while waiting 23 | * for the remote to acknowledge or process it. 24 | */ 25 | public class JmsOperationTimedOutException extends JMSException { 26 | 27 | private static final long serialVersionUID = -2509921066407708297L; 28 | 29 | public JmsOperationTimedOutException(String reason) { 30 | super(reason); 31 | } 32 | 33 | public JmsOperationTimedOutException(String reason, String errorCode) { 34 | super(reason, errorCode); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsQueue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | import jakarta.jms.Queue; 20 | 21 | /** 22 | * JMS Queue implementation 23 | */ 24 | public class JmsQueue extends JmsDestination implements Queue { 25 | 26 | public JmsQueue() { 27 | super(null, false, false); 28 | } 29 | 30 | public JmsQueue(String name) { 31 | super(name, false, false); 32 | } 33 | 34 | /** 35 | * @return name 36 | * @see jakarta.jms.Queue#getQueueName() 37 | */ 38 | @Override 39 | public String getQueueName() { 40 | return getAddress(); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsResourceNotFoundException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | import jakarta.jms.JMSException; 20 | 21 | /** 22 | * Thrown when the remote peer return amqp:not-found for instances other 23 | * than those that would generate an InvalidDestinationException or some 24 | * other more situation appropriate JMSException instance. 25 | */ 26 | public class JmsResourceNotFoundException extends JMSException { 27 | 28 | private static final long serialVersionUID = -4811726481264524424L; 29 | 30 | public JmsResourceNotFoundException(String reason) { 31 | super(reason); 32 | } 33 | 34 | public JmsResourceNotFoundException(String reason, String errorCode) { 35 | super(reason, errorCode); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSharedDurableMessageConsumer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | import jakarta.jms.JMSException; 20 | 21 | import org.apache.qpid.jms.meta.JmsConsumerId; 22 | 23 | /** 24 | * Implementation of a JmsMessageConsumer that is part of a Shared Durable Subscription 25 | */ 26 | public class JmsSharedDurableMessageConsumer extends JmsSharedMessageConsumer implements AutoCloseable { 27 | 28 | public JmsSharedDurableMessageConsumer(JmsConsumerId id, JmsSession s, JmsDestination destination, String name, String selector) throws JMSException { 29 | super(id, s, destination, name, selector); 30 | } 31 | 32 | @Override 33 | public boolean isDurableSubscription() { 34 | return true; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSharedMessageConsumer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | import jakarta.jms.JMSException; 20 | 21 | import org.apache.qpid.jms.meta.JmsConsumerId; 22 | 23 | /** 24 | * Implementation of a JmsMessageConsumer that is part of a Shared Subscription 25 | */ 26 | public class JmsSharedMessageConsumer extends JmsMessageConsumer implements AutoCloseable { 27 | 28 | public JmsSharedMessageConsumer(JmsConsumerId id, JmsSession s, JmsDestination destination, String name, String selector) throws JMSException { 29 | super(id, s, destination, name, selector, false); 30 | } 31 | 32 | @Override 33 | public boolean isSharedSubscription() { 34 | return true; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsTemporaryQueue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | import jakarta.jms.JMSException; 20 | import jakarta.jms.TemporaryQueue; 21 | 22 | /** 23 | * Temporary Queue Object 24 | */ 25 | public class JmsTemporaryQueue extends JmsTemporaryDestination implements TemporaryQueue { 26 | 27 | public JmsTemporaryQueue() { 28 | this(null); 29 | } 30 | 31 | public JmsTemporaryQueue(String name) { 32 | super(name, false); 33 | } 34 | 35 | /** 36 | * @see jakarta.jms.TemporaryQueue#delete() 37 | */ 38 | @Override 39 | public void delete() throws JMSException { 40 | tryDelete(); 41 | } 42 | 43 | /** 44 | * @return name 45 | * @see jakarta.jms.Queue#getQueueName() 46 | */ 47 | @Override 48 | public String getQueueName() { 49 | return getAddress(); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsTemporaryTopic.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | import jakarta.jms.JMSException; 20 | import jakarta.jms.TemporaryTopic; 21 | 22 | /** 23 | * Temporary Topic Object 24 | */ 25 | public class JmsTemporaryTopic extends JmsTemporaryDestination implements TemporaryTopic { 26 | 27 | public JmsTemporaryTopic() { 28 | this(null); 29 | } 30 | 31 | public JmsTemporaryTopic(String name) { 32 | super(name, true); 33 | } 34 | 35 | /** 36 | * @see jakarta.jms.TemporaryTopic#delete() 37 | */ 38 | @Override 39 | public void delete() throws JMSException { 40 | tryDelete(); 41 | } 42 | 43 | /** 44 | * @return name 45 | * @see jakarta.jms.Topic#getTopicName() 46 | */ 47 | @Override 48 | public String getTopicName() { 49 | return getAddress(); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsTopic.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | import jakarta.jms.Topic; 20 | 21 | /** 22 | * JMS Topic object. 23 | */ 24 | public class JmsTopic extends JmsDestination implements Topic { 25 | 26 | public JmsTopic() { 27 | this(null); 28 | } 29 | 30 | public JmsTopic(String name) { 31 | super(name, true, false); 32 | } 33 | 34 | /** 35 | * @return the name 36 | * @see jakarta.jms.Topic#getTopicName() 37 | */ 38 | @Override 39 | public String getTopicName() { 40 | return getAddress(); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsTransactionInDoubtException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | import jakarta.jms.JMSException; 20 | 21 | /** 22 | * JMSException derivative that defines that a TX outcome is unknown. 23 | */ 24 | public class JmsTransactionInDoubtException extends JMSException { 25 | 26 | private static final long serialVersionUID = 4937372602950141285L; 27 | 28 | public JmsTransactionInDoubtException(String reason, String errorCode) { 29 | super(reason, errorCode); 30 | } 31 | 32 | public JmsTransactionInDoubtException(String reason) { 33 | super(reason); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsTransactionListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms; 18 | 19 | /** 20 | * Allows for a listener to be notified when a transaction is started, commits 21 | * or is rolled back. 22 | */ 23 | public interface JmsTransactionListener { 24 | 25 | void onTransactionStarted(); 26 | 27 | void onTransactionCommitted(); 28 | 29 | void onTransactionRolledBack(); 30 | 31 | } 32 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/exceptions/IdConversionException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one 4 | * or more contributor license agreements. See the NOTICE file 5 | * distributed with this work for additional information 6 | * regarding copyright ownership. The ASF licenses this file 7 | * to you under the Apache License, Version 2.0 (the 8 | * "License"); you may not use this file except in compliance 9 | * with the License. You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, 14 | * software distributed under the License is distributed on an 15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | * KIND, either express or implied. See the License for the 17 | * specific language governing permissions and limitations 18 | * under the License. 19 | * 20 | */ 21 | package org.apache.qpid.jms.exceptions; 22 | 23 | public class IdConversionException extends QpidJmsException { 24 | private static final long serialVersionUID = -2349723813650476823L; 25 | 26 | public IdConversionException(String reason) { 27 | super(reason); 28 | } 29 | 30 | public IdConversionException(String reason, Exception cause) { 31 | super(reason, cause); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/exceptions/JMSSecuritySaslException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one 4 | * or more contributor license agreements. See the NOTICE file 5 | * distributed with this work for additional information 6 | * regarding copyright ownership. The ASF licenses this file 7 | * to you under the Apache License, Version 2.0 (the 8 | * "License"); you may not use this file except in compliance 9 | * with the License. You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, 14 | * software distributed under the License is distributed on an 15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | * KIND, either express or implied. See the License for the 17 | * specific language governing permissions and limitations 18 | * under the License. 19 | * 20 | */ 21 | package org.apache.qpid.jms.exceptions; 22 | 23 | import jakarta.jms.JMSSecurityException; 24 | 25 | public class JMSSecuritySaslException extends JMSSecurityException { 26 | 27 | private static final long serialVersionUID = -6181892492517836496L; 28 | private static final int SASL_SYS_TEMP = 4; 29 | 30 | private int outcome = -1; 31 | 32 | public JMSSecuritySaslException(String reason) { 33 | super(reason); 34 | } 35 | 36 | public JMSSecuritySaslException(String reason, int outcome) { 37 | super(reason); 38 | this.outcome = outcome; 39 | } 40 | 41 | public boolean isSysTempFailure() { 42 | return outcome == SASL_SYS_TEMP; 43 | } 44 | } -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/exceptions/QpidJmsException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one 4 | * or more contributor license agreements. See the NOTICE file 5 | * distributed with this work for additional information 6 | * regarding copyright ownership. The ASF licenses this file 7 | * to you under the Apache License, Version 2.0 (the 8 | * "License"); you may not use this file except in compliance 9 | * with the License. You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, 14 | * software distributed under the License is distributed on an 15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | * KIND, either express or implied. See the License for the 17 | * specific language governing permissions and limitations 18 | * under the License. 19 | * 20 | */ 21 | package org.apache.qpid.jms.exceptions; 22 | 23 | import jakarta.jms.JMSException; 24 | 25 | public class QpidJmsException extends JMSException { 26 | private static final long serialVersionUID = 751932967255393054L; 27 | 28 | public QpidJmsException(String reason) { 29 | this(reason, null); 30 | } 31 | 32 | public QpidJmsException(String reason, Exception cause) { 33 | super(reason); 34 | if (cause != null) { 35 | setLinkedException(cause); 36 | initCause(cause); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/jndi/NameParserImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.jndi; 18 | 19 | import javax.naming.CompositeName; 20 | import javax.naming.Name; 21 | import javax.naming.NameParser; 22 | import javax.naming.NamingException; 23 | 24 | /** 25 | * A default implementation of {@link NameParser} 26 | * 27 | * @since 1.0 28 | */ 29 | public class NameParserImpl implements NameParser { 30 | 31 | @Override 32 | public Name parse(String name) throws NamingException { 33 | return new CompositeName(name); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/meta/JmsAbstractResource.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.meta; 18 | 19 | /** 20 | * Abstract resource class for JmsResource instances. 21 | */ 22 | public abstract class JmsAbstractResource implements JmsResource { 23 | 24 | private ResourceState state = ResourceState.INITIALIZED; 25 | 26 | @Override 27 | public ResourceState getState() { 28 | return state; 29 | } 30 | 31 | @Override 32 | public void setState(ResourceState state) { 33 | this.state = state; 34 | } 35 | 36 | public boolean isClosed() { 37 | return ResourceState.CLOSED.equals(state); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/meta/JmsAbstractResourceId.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.meta; 18 | 19 | /** 20 | * Base class for all JmsResourceId instances. 21 | */ 22 | public abstract class JmsAbstractResourceId implements JmsResourceId { 23 | 24 | protected transient volatile Object providerHint; 25 | protected transient volatile Object providerContext; 26 | protected transient int hashCode; 27 | 28 | @Override 29 | public void setProviderHint(Object hint) { 30 | this.providerHint = hint; 31 | } 32 | 33 | @Override 34 | public Object getProviderHint() { 35 | return providerHint; 36 | } 37 | 38 | @Override 39 | public void setProviderContext(Object context) { 40 | this.providerContext = context; 41 | } 42 | 43 | @Override 44 | public Object getProviderContext() { 45 | return providerContext; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/meta/JmsResourceVistor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.meta; 18 | 19 | import org.apache.qpid.jms.JmsTemporaryDestination; 20 | 21 | /** 22 | * Visitor interface to make processing JmsResources simpler. 23 | */ 24 | public interface JmsResourceVistor { 25 | 26 | void processConnectionInfo(JmsConnectionInfo connectionInfo) throws Exception; 27 | 28 | void processSessionInfo(JmsSessionInfo sessionInfo) throws Exception; 29 | 30 | void processConsumerInfo(JmsConsumerInfo consumerInfo) throws Exception; 31 | 32 | void processProducerInfo(JmsProducerInfo producerInfo) throws Exception; 33 | 34 | void processTransactionInfo(JmsTransactionInfo transactionInfo) throws Exception; 35 | 36 | void processDestination(JmsTemporaryDestination destination) throws Exception; 37 | 38 | } 39 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/package.html: -------------------------------------------------------------------------------- 1 | 17 | 18 |
19 | 20 | 21 | 22 | The core AMQP JMS client implementation classes. 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/NoOpAsyncResult.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider; 18 | 19 | /** 20 | * Simple NoOp implementation used when the result of the operation does not matter. 21 | */ 22 | public class NoOpAsyncResult implements AsyncResult { 23 | 24 | public final static NoOpAsyncResult INSTANCE = new NoOpAsyncResult(); 25 | 26 | @Override 27 | public void onFailure(ProviderException result) { 28 | 29 | } 30 | 31 | @Override 32 | public void onSuccess() { 33 | 34 | } 35 | 36 | @Override 37 | public boolean isComplete() { 38 | return true; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderConstants.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider; 18 | 19 | /** 20 | * Set of Provider specific constants used when interacting with the Provider API. 21 | */ 22 | public final class ProviderConstants { 23 | 24 | private ProviderConstants() {} 25 | 26 | public enum ACK_TYPE { 27 | // Aligned with AMQP dispositions 28 | ACCEPTED, 29 | RELEASED, 30 | REJECTED, 31 | MODIFIED_FAILED, 32 | MODIFIED_FAILED_UNDELIVERABLE, 33 | // Conceptual 34 | DELIVERED, 35 | SESSION_SHUTDOWN 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider; 18 | 19 | import jakarta.jms.JMSException; 20 | 21 | public class ProviderException extends Exception { 22 | 23 | private static final long serialVersionUID = -5094579928657311571L; 24 | 25 | public ProviderException(String message) { 26 | super(message); 27 | } 28 | 29 | public ProviderException(String message, Throwable cause) { 30 | super(message, cause); 31 | } 32 | 33 | public JMSException toJMSException() { 34 | final JMSException jmsEx = new JMSException(getMessage()); 35 | jmsEx.initCause(this); 36 | jmsEx.setLinkedException(this); 37 | return jmsEx; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderSynchronization.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider; 18 | 19 | /** 20 | * Synchronization callback interface used to execute state updates 21 | * or similar tasks in the thread context where the associated 22 | * ProviderFuture is managed. 23 | */ 24 | public interface ProviderSynchronization { 25 | 26 | void onPendingSuccess(); 27 | 28 | void onPendingFailure(ProviderException cause); 29 | 30 | } 31 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpExceptionBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.qpid.jms.provider.amqp; 20 | 21 | import org.apache.qpid.jms.provider.ProviderException; 22 | 23 | /** 24 | * Used to provide a source for an exception based on some event such as 25 | * operation timed out, etc. 26 | */ 27 | public interface AmqpExceptionBuilder { 28 | 29 | /** 30 | * Creates an exception appropriate to some failure condition 31 | * 32 | * @return a new Exception instance that describes a failure condition. 33 | */ 34 | ProviderException createException(); 35 | 36 | } 37 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpResource.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider.amqp; 18 | 19 | /** 20 | * AmqpResource specification. 21 | * 22 | * All AMQP types should implement this interface to allow for control of state 23 | * and configuration details. 24 | */ 25 | public interface AmqpResource extends AmqpEventSink { 26 | 27 | } 28 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/filters/AmqpJmsNoLocalType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider.amqp.filters; 18 | 19 | import org.apache.qpid.proton.amqp.DescribedType; 20 | import org.apache.qpid.proton.amqp.UnsignedLong; 21 | 22 | /** 23 | * A Described Type wrapper for JMS no local option for MessageConsumer. 24 | */ 25 | public class AmqpJmsNoLocalType implements DescribedType { 26 | 27 | public static final AmqpJmsNoLocalType NO_LOCAL = new AmqpJmsNoLocalType(); 28 | 29 | private final String noLocal; 30 | 31 | public AmqpJmsNoLocalType() { 32 | this.noLocal = "NoLocalFilter{}"; 33 | } 34 | 35 | @Override 36 | public Object getDescriptor() { 37 | return UnsignedLong.valueOf(0x0000468C00000003L); 38 | } 39 | 40 | @Override 41 | public Object getDescribed() { 42 | return this.noLocal; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/filters/AmqpJmsSelectorType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider.amqp.filters; 18 | 19 | import org.apache.qpid.proton.amqp.DescribedType; 20 | import org.apache.qpid.proton.amqp.UnsignedLong; 21 | 22 | /** 23 | * A Described Type wrapper for JMS selector values. 24 | */ 25 | public class AmqpJmsSelectorType implements DescribedType { 26 | 27 | private final String selector; 28 | 29 | public AmqpJmsSelectorType(String selector) { 30 | this.selector = selector; 31 | } 32 | 33 | @Override 34 | public Object getDescriptor() { 35 | return UnsignedLong.valueOf(0x0000468C00000004L); 36 | } 37 | 38 | @Override 39 | public Object getDescribed() { 40 | return this.selector; 41 | } 42 | 43 | @Override 44 | public String toString() { 45 | return "AmqpJmsSelectorType{" + selector + "}"; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/exceptions/ProviderClosedException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider.exceptions; 18 | 19 | import org.apache.qpid.jms.exceptions.JmsConnectionClosedException; 20 | 21 | public class ProviderClosedException extends ProviderIOException { 22 | 23 | private static final long serialVersionUID = 1L; 24 | 25 | public ProviderClosedException(String message) { 26 | super(message); 27 | } 28 | 29 | public ProviderClosedException(String message, Throwable cause) { 30 | super(message, cause); 31 | } 32 | 33 | @Override 34 | public JmsConnectionClosedException toJMSException() { 35 | return new JmsConnectionClosedException(this); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/exceptions/ProviderDeliveryReleasedException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider.exceptions; 18 | 19 | import org.apache.qpid.jms.provider.ProviderException; 20 | 21 | /** 22 | * Thrown when a send fails because the remote released the delivery 23 | */ 24 | public class ProviderDeliveryReleasedException extends ProviderException { 25 | 26 | private static final long serialVersionUID = 4749969190587880823L; 27 | 28 | public ProviderDeliveryReleasedException(String message) { 29 | super(message); 30 | } 31 | 32 | public ProviderDeliveryReleasedException(String message, Throwable cause) { 33 | super(message, cause); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/exceptions/ProviderFailedException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider.exceptions; 18 | 19 | import org.apache.qpid.jms.exceptions.JmsConnectionFailedException; 20 | 21 | public class ProviderFailedException extends ProviderIOException { 22 | 23 | private static final long serialVersionUID = 1L; 24 | 25 | public ProviderFailedException(String message) { 26 | super(message); 27 | } 28 | 29 | public ProviderFailedException(String message, Throwable cause) { 30 | super(message, cause); 31 | } 32 | 33 | @Override 34 | public JmsConnectionFailedException toJMSException() { 35 | return new JmsConnectionFailedException(this); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/exceptions/ProviderIOException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider.exceptions; 18 | 19 | import org.apache.qpid.jms.provider.ProviderException; 20 | 21 | /** 22 | * Exception type that is thrown when the provider has encountered an unrecoverable error. 23 | */ 24 | public class ProviderIOException extends ProviderException { 25 | 26 | private static final long serialVersionUID = 7022573614211991693L; 27 | 28 | public ProviderIOException(String message) { 29 | super(message); 30 | } 31 | 32 | public ProviderIOException(String message, Throwable cause) { 33 | super(message, cause); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/exceptions/ProviderIdleTimeoutException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider.exceptions; 18 | 19 | /** 20 | * Thrown when the Provider fails a connection due to idle timeout. 21 | */ 22 | public class ProviderIdleTimeoutException extends ProviderIOException { 23 | 24 | private static final long serialVersionUID = 7925210908123213499L; 25 | 26 | public ProviderIdleTimeoutException(String message) { 27 | super(message); 28 | } 29 | 30 | public ProviderIdleTimeoutException(String message, Throwable cause) { 31 | super(message, cause); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/exceptions/ProviderInvalidClientIDException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider.exceptions; 18 | 19 | import jakarta.jms.InvalidClientIDException; 20 | 21 | public class ProviderInvalidClientIDException extends ProviderConnectionRemotelyClosedException { 22 | 23 | private static final long serialVersionUID = 904517921855721540L; 24 | 25 | public ProviderInvalidClientIDException(String message) { 26 | super(message); 27 | } 28 | 29 | public ProviderInvalidClientIDException(String message, Throwable cause) { 30 | super(message, cause); 31 | } 32 | 33 | @Override 34 | public InvalidClientIDException toJMSException() { 35 | final InvalidClientIDException jmsEx = new InvalidClientIDException(getMessage()); 36 | jmsEx.initCause(this); 37 | jmsEx.setLinkedException(this); 38 | return jmsEx; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/exceptions/ProviderResourceAllocationException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider.exceptions; 18 | 19 | import jakarta.jms.ResourceAllocationException; 20 | 21 | public class ProviderResourceAllocationException extends ProviderResourceClosedException { 22 | 23 | private static final long serialVersionUID = 1L; 24 | 25 | public ProviderResourceAllocationException(String message) { 26 | super(message); 27 | } 28 | 29 | public ProviderResourceAllocationException(String message, Throwable cause) { 30 | super(message, cause); 31 | } 32 | 33 | @Override 34 | public ResourceAllocationException toJMSException() { 35 | ResourceAllocationException jmsEx = new ResourceAllocationException(getMessage()); 36 | jmsEx.initCause(this); 37 | jmsEx.setLinkedException(this); 38 | return jmsEx; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/exceptions/ProviderResourceClosedException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider.exceptions; 18 | 19 | import org.apache.qpid.jms.provider.ProviderException; 20 | 21 | public class ProviderResourceClosedException extends ProviderException { 22 | 23 | private static final long serialVersionUID = 5601827103553513599L; 24 | 25 | public ProviderResourceClosedException(String message) { 26 | super(message); 27 | } 28 | 29 | public ProviderResourceClosedException(String message, Throwable cause) { 30 | super(message, cause); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/exceptions/ProviderUnsupportedOperationException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider.exceptions; 18 | 19 | import org.apache.qpid.jms.provider.ProviderException; 20 | 21 | /** 22 | * Thrown when an action request is not supported through this provider. 23 | */ 24 | public class ProviderUnsupportedOperationException extends ProviderException { 25 | 26 | private static final long serialVersionUID = -680156277783719903L; 27 | 28 | public ProviderUnsupportedOperationException(String message) { 29 | super(message); 30 | } 31 | 32 | public ProviderUnsupportedOperationException(String message, Throwable cause) { 33 | super(message, cause); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/AnonymousMechanism.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | import java.security.Principal; 20 | 21 | /** 22 | * Implements the Anonymous SASL authentication mechanism. 23 | */ 24 | public class AnonymousMechanism extends AbstractMechanism { 25 | 26 | @Override 27 | public byte[] getInitialResponse() { 28 | return EMPTY; 29 | } 30 | 31 | @Override 32 | public byte[] getChallengeResponse(byte[] challenge) { 33 | return EMPTY; 34 | } 35 | 36 | @Override 37 | public int getPriority() { 38 | return PRIORITY.LOWEST.getValue(); 39 | } 40 | 41 | @Override 42 | public String getName() { 43 | return "ANONYMOUS"; 44 | } 45 | 46 | @Override 47 | public boolean isApplicable(String username, String password, Principal localPrincipal) { 48 | return true; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/AnonymousMechanismFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | /** 20 | * Create the Anonymous SASL Authentication Mechanism types. 21 | */ 22 | public class AnonymousMechanismFactory implements MechanismFactory { 23 | 24 | @Override 25 | public Mechanism createMechanism() { 26 | return new AnonymousMechanism(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/CramMD5MechanismFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | /** 20 | * Create the Plain SASL Authentication Mechanism types. 21 | */ 22 | public class CramMD5MechanismFactory implements MechanismFactory { 23 | 24 | @Override 25 | public Mechanism createMechanism() { 26 | return new CramMD5Mechanism(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/ExternalMechanism.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | import java.security.Principal; 20 | 21 | /** 22 | * Implements the External SASL authentication mechanism. 23 | */ 24 | public class ExternalMechanism extends AbstractMechanism { 25 | 26 | @Override 27 | public byte[] getInitialResponse() { 28 | return EMPTY; 29 | } 30 | 31 | @Override 32 | public byte[] getChallengeResponse(byte[] challenge) { 33 | return EMPTY; 34 | } 35 | 36 | @Override 37 | public int getPriority() { 38 | return PRIORITY.HIGHEST.getValue(); 39 | } 40 | 41 | @Override 42 | public String getName() { 43 | return "EXTERNAL"; 44 | } 45 | 46 | @Override 47 | public boolean isApplicable(String username, String password, Principal localPrincipal) { 48 | return localPrincipal != null; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/ExternalMechanismFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | /** 20 | * Create the External SASL Authentication Mechanism types. 21 | */ 22 | public class ExternalMechanismFactory implements MechanismFactory { 23 | 24 | @Override 25 | public Mechanism createMechanism() { 26 | return new ExternalMechanism(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/GssapiMechanismFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | public class GssapiMechanismFactory implements MechanismFactory { 20 | 21 | @Override 22 | public Mechanism createMechanism() { 23 | return new GssapiMechanism(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/MechanismFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | /** 20 | * Interface for all SASL authentication mechanism implementations. 21 | */ 22 | public interface MechanismFactory { 23 | 24 | /** 25 | * Creates an instance of the authentication mechanism implementation. 26 | * 27 | * @return a new Mechanism instance. 28 | */ 29 | Mechanism createMechanism(); 30 | 31 | } 32 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/PlainMechanismFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | /** 20 | * Create the Plain SASL Authentication Mechanism types. 21 | */ 22 | public class PlainMechanismFactory implements MechanismFactory { 23 | 24 | @Override 25 | public Mechanism createMechanism() { 26 | return new PlainMechanism(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/ScramSHA1Mechanism.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | import java.util.UUID; 20 | 21 | /** 22 | * Implements the SASL Scram SHA1 authentication Mechanism. 23 | */ 24 | public class ScramSHA1Mechanism extends AbstractScramSHAMechanism { 25 | 26 | public static final String SHA_1 = "SHA-1"; 27 | public static final String HMAC_SHA_1 = "HmacSHA1"; 28 | 29 | public ScramSHA1Mechanism() { 30 | this(UUID.randomUUID().toString()); 31 | } 32 | 33 | /** For unit testing */ 34 | ScramSHA1Mechanism(String clientNonce) { 35 | super(SHA_1, HMAC_SHA_1, clientNonce); 36 | } 37 | 38 | @Override 39 | public int getPriority() { 40 | return PRIORITY.HIGH.getValue(); 41 | } 42 | 43 | @Override 44 | public String getName() { 45 | return "SCRAM-SHA-1"; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/ScramSHA1MechanismFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | /** 20 | * Create the Scram SHA1 SASL Authentication Mechanism type. 21 | */ 22 | public class ScramSHA1MechanismFactory implements MechanismFactory { 23 | 24 | @Override 25 | public Mechanism createMechanism() { 26 | return new ScramSHA1Mechanism(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/ScramSHA256Mechanism.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | import java.util.UUID; 20 | 21 | /** 22 | * Implements the SASL Scram SHA 256 authentication Mechanism. 23 | */ 24 | public class ScramSHA256Mechanism extends AbstractScramSHAMechanism { 25 | 26 | public static final String SHA_256 = "SHA-256"; 27 | public static final String HMAC_SHA_256 = "HmacSHA256"; 28 | 29 | public ScramSHA256Mechanism() { 30 | this(UUID.randomUUID().toString()); 31 | } 32 | 33 | /** For unit testing */ 34 | ScramSHA256Mechanism(String clientNonce) { 35 | super(SHA_256, HMAC_SHA_256, clientNonce); 36 | } 37 | 38 | @Override 39 | public int getPriority() { 40 | return PRIORITY.HIGHER.getValue(); 41 | } 42 | 43 | @Override 44 | public String getName() { 45 | return "SCRAM-SHA-256"; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/ScramSHA256MechanismFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | /** 20 | * Create the Scram SHA256 SASL Authentication Mechanism types. 21 | */ 22 | public class ScramSHA256MechanismFactory implements MechanismFactory { 23 | 24 | @Override 25 | public Mechanism createMechanism() { 26 | return new ScramSHA256Mechanism(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/ScramSHA512Mechanism.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | import java.util.UUID; 20 | 21 | /** 22 | * Implements the SASL Scram SHA 512 authentication Mechanism. 23 | */ 24 | public class ScramSHA512Mechanism extends AbstractScramSHAMechanism { 25 | 26 | public static final String SHA_512 = "SHA-512"; 27 | public static final String HMAC_SHA_512 = "HmacSHA512"; 28 | 29 | public ScramSHA512Mechanism() { 30 | this(UUID.randomUUID().toString()); 31 | } 32 | 33 | /** For unit testing */ 34 | ScramSHA512Mechanism(String clientNonce) { 35 | super(SHA_512, HMAC_SHA_512, clientNonce); 36 | } 37 | 38 | @Override 39 | public int getPriority() { 40 | return PRIORITY.HIGHER_STILL.getValue(); 41 | } 42 | 43 | @Override 44 | public String getName() { 45 | return "SCRAM-SHA-512"; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/ScramSHA512MechanismFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | /** 20 | * Create the Scram SHA512 SASL Authentication Mechanism types. 21 | */ 22 | public class ScramSHA512MechanismFactory implements MechanismFactory { 23 | 24 | @Override 25 | public Mechanism createMechanism() { 26 | return new ScramSHA512Mechanism(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/sasl/XOauth2MechanismFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | /** 20 | * Create the Plain SASL Authentication Mechanism types. 21 | */ 22 | public class XOauth2MechanismFactory implements MechanismFactory { 23 | 24 | @Override 25 | public Mechanism createMechanism() { 26 | return new XOauth2Mechanism(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/filter/BooleanExpression.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.selector.filter; 18 | 19 | /** 20 | * A BooleanExpression is an expression that always 21 | * produces a Boolean result. 22 | */ 23 | public interface BooleanExpression extends Expression { 24 | 25 | /** 26 | * @param message 27 | * @return true if the expression evaluates to Boolean.TRUE. 28 | * @throws FilterException 29 | */ 30 | boolean matches(Filterable message) throws FilterException; 31 | 32 | } 33 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/filter/Expression.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.selector.filter; 18 | 19 | /** 20 | * Represents an expression 21 | */ 22 | public interface Expression { 23 | 24 | /** 25 | * @param message 26 | * The message that is being selected against. 27 | * 28 | * @return the value of this expression 29 | * 30 | * @throws FilterException if an error occurs during evaluation. 31 | */ 32 | Object evaluate(Filterable message) throws FilterException; 33 | 34 | } 35 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/filter/FilterException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.selector.filter; 18 | 19 | public class FilterException extends Exception { 20 | 21 | private static final long serialVersionUID = -6892363158919485507L; 22 | 23 | public FilterException() { 24 | super(); 25 | } 26 | 27 | public FilterException(String message, Throwable cause) { 28 | super(message, cause); 29 | } 30 | 31 | public FilterException(String message) { 32 | super(message); 33 | } 34 | 35 | public FilterException(Throwable cause) { 36 | super(cause); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/filter/package.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 21 | 22 |23 | Filter implementation for JMS selectors 24 |
25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/tracing/JmsNoOpTracerFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.tracing; 18 | 19 | import java.net.URI; 20 | 21 | public class JmsNoOpTracerFactory extends JmsTracerFactory { 22 | 23 | static final String TYPE_NAME = "noop"; 24 | 25 | /** 26 | * Returns a JmsNoOpTracer instance. This performs no actions or returns null 27 | * for any of the JmsTracer methods. 28 | * 29 | * @return a JmsTracer instance that performs no action for any of its methods. 30 | */ 31 | public static JmsTracer create() { 32 | return JmsNoOpTracer.INSTANCE; 33 | } 34 | 35 | @Override 36 | public JmsTracer createTracer(URI remoteURI, String type) throws Exception { 37 | return create(); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/tracing/JmsTracer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.tracing; 18 | 19 | public interface JmsTracer { 20 | 21 | enum DeliveryOutcome { 22 | DELIVERED, 23 | EXPIRED, 24 | REDELIVERIES_EXCEEDED, 25 | APPLICATION_ERROR 26 | } 27 | 28 | void initSend(TraceableMessage message, String address); 29 | 30 | void completeSend(TraceableMessage message, String outcome); 31 | 32 | void syncReceive(TraceableMessage message, String address, DeliveryOutcome outcome); 33 | 34 | void asyncDeliveryInit(TraceableMessage message, String address); 35 | 36 | void asyncDeliveryComplete(TraceableMessage message, DeliveryOutcome outcome, Throwable throwable); 37 | 38 | void close(); 39 | } 40 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/TransportListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.transports; 18 | 19 | import io.netty.buffer.ByteBuf; 20 | 21 | /** 22 | * Listener interface that should be implemented by users of the various 23 | * QpidJMS Transport classes. 24 | */ 25 | public interface TransportListener { 26 | 27 | /** 28 | * Called when new incoming data has become available. 29 | * 30 | * @param incoming 31 | * the next incoming packet of data. 32 | */ 33 | void onData(ByteBuf incoming); 34 | 35 | /** 36 | * Called if the connection state becomes closed. 37 | */ 38 | void onTransportClosed(); 39 | 40 | /** 41 | * Called when an error occurs during normal Transport operations. 42 | * 43 | * @param cause 44 | * the error that triggered this event. 45 | */ 46 | void onTransportError(Throwable cause); 47 | 48 | } 49 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/netty/EventLoopGroupRef.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.transports.netty; 18 | 19 | import io.netty.channel.EventLoopGroup; 20 | 21 | public interface EventLoopGroupRef extends AutoCloseable { 22 | 23 | EventLoopGroup group(); 24 | 25 | @Override 26 | void close(); 27 | } 28 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/netty/NettySslTransportFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.transports.netty; 18 | 19 | /** 20 | * Creates a Netty based SSL transport. 21 | */ 22 | public class NettySslTransportFactory extends NettyTcpTransportFactory { 23 | 24 | @Override 25 | public String getName() { 26 | return "SSL"; 27 | } 28 | 29 | @Override 30 | public boolean isSecure() { 31 | return true; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.transports.netty; 18 | 19 | import java.net.URI; 20 | 21 | import org.apache.qpid.jms.transports.TransportFactory; 22 | import org.apache.qpid.jms.transports.TransportOptions; 23 | 24 | /** 25 | * Factory for creating the Netty based TCP Transport. 26 | */ 27 | public class NettyTcpTransportFactory extends TransportFactory { 28 | 29 | @Override 30 | protected NettyTcpTransport doCreateTransport(URI remoteURI, TransportOptions transportOptions) throws Exception { 31 | return new NettyTcpTransport(remoteURI, transportOptions, isSecure()); 32 | } 33 | 34 | @Override 35 | public String getName() { 36 | return "TCP"; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/netty/NettyWssTransportFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.transports.netty; 18 | 19 | /** 20 | * Creates a Netty based Secure WebSocket transport. 21 | */ 22 | public class NettyWssTransportFactory extends NettyWsTransportFactory { 23 | 24 | @Override 25 | public String getName() { 26 | return "WSS"; 27 | } 28 | 29 | @Override 30 | public boolean isSecure() { 31 | return true; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/util/InvalidContentTypeException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.util; 18 | 19 | public class InvalidContentTypeException extends Exception { 20 | 21 | private static final long serialVersionUID = -2172537375174014839L; 22 | 23 | public InvalidContentTypeException(String message) { 24 | super(message); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/util/NoOpExecutor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.util; 18 | 19 | import java.util.concurrent.Executor; 20 | 21 | /** 22 | * Simple executor implementation that ignores any requests to 23 | * execute a task. This can be used in the case where an executor 24 | * should be returned or provided but the state of the application 25 | * or object is such that it will not process any new work and the 26 | * result of ignoring the request does not impact the application. 27 | */ 28 | public class NoOpExecutor implements Executor { 29 | 30 | public static final Executor INSTANCE = new NoOpExecutor(); 31 | 32 | @Override 33 | public void execute(Runnable command) { 34 | 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/java/org/apache/qpid/jms/util/ResourceNotFoundException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.util; 18 | 19 | public class ResourceNotFoundException extends Exception { 20 | 21 | private static final long serialVersionUID = -4410424250899087436L; 22 | 23 | public ResourceNotFoundException(String cause) { 24 | super(cause); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/provider/amqp: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.provider.amqp.AmqpProviderFactory 18 | transportScheme=tcp 19 | providerScheme=amqp -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/provider/amqps: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.provider.amqp.AmqpProviderFactory 18 | transportScheme=ssl 19 | providerScheme=amqps -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/provider/amqpws: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.provider.amqp.AmqpProviderFactory 18 | transportScheme=ws 19 | providerScheme=amqpws -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/provider/amqpwss: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.provider.amqp.AmqpProviderFactory 18 | transportScheme=wss 19 | providerScheme=amqpwss -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/provider/failover: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.provider.failover.FailoverProviderFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/provider/redirects/ws: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.provider.amqp.AmqpProviderFactory 18 | transportScheme=ws 19 | providerScheme=amqpws -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/provider/redirects/wss: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.provider.amqp.AmqpProviderFactory 18 | transportScheme=wss 19 | providerScheme=amqpwss -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/sasl/ANONYMOUS: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.sasl.AnonymousMechanismFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/sasl/CRAM-MD5: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.sasl.CramMD5MechanismFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/sasl/EXTERNAL: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.sasl.ExternalMechanismFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/sasl/GSSAPI: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.sasl.GssapiMechanismFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/sasl/PLAIN: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.sasl.PlainMechanismFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/sasl/SCRAM-SHA-1: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.sasl.ScramSHA1MechanismFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/sasl/SCRAM-SHA-256: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.sasl.ScramSHA256MechanismFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/sasl/SCRAM-SHA-512: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.sasl.ScramSHA512MechanismFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/sasl/XOAUTH2: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.sasl.XOauth2MechanismFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/tracing/noop: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.tracing.JmsNoOpTracerFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/tracing/opentracing: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.tracing.opentracing.OpenTracingTracerFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/transports/ssl: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.transports.netty.NettySslTransportFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/transports/tcp: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.transports.netty.NettyTcpTransportFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/transports/ws: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.transports.netty.NettyWsTransportFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/main/resources/META-INF/services/org/apache/qpid/jms/transports/wss: -------------------------------------------------------------------------------- 1 | ## --------------------------------------------------------------------------- 2 | ## Licensed to the Apache Software Foundation (ASF) under one or more 3 | ## contributor license agreements. See the NOTICE file distributed with 4 | ## this work for additional information regarding copyright ownership. 5 | ## The ASF licenses this file to You under the Apache License, Version 2.0 6 | ## (the "License"); you may not use this file except in compliance with 7 | ## the License. You may obtain a copy of the License at 8 | ## 9 | ## http://www.apache.org/licenses/LICENSE-2.0 10 | ## 11 | ## Unless required by applicable law or agreed to in writing, software 12 | ## distributed under the License is distributed on an "AS IS" BASIS, 13 | ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ## See the License for the specific language governing permissions and 15 | ## limitations under the License. 16 | ## --------------------------------------------------------------------------- 17 | class=org.apache.qpid.jms.transports.netty.NettyWssTransportFactory 18 | -------------------------------------------------------------------------------- /qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/MockProviderListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider.mock; 18 | 19 | import org.apache.qpid.jms.provider.Provider; 20 | import org.apache.qpid.jms.provider.ProviderListener; 21 | 22 | /** 23 | * Listen for specific events that occur in the Mock Provider instance. 24 | */ 25 | public interface MockProviderListener { 26 | 27 | void whenProviderListenerSet(Provider provider, ProviderListener listener); 28 | 29 | } 30 | -------------------------------------------------------------------------------- /qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/ResourceLifecycleFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.provider.mock; 18 | 19 | import org.apache.qpid.jms.meta.JmsResource; 20 | 21 | /** 22 | * Interface for an event listener on resource lifecycle events such 23 | * as create and destroy. 24 | */ 25 | public interface ResourceLifecycleFilter { 26 | 27 | void onLifecycleEvent(JmsResource resource) throws Exception; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /qpid-jms-client/src/test/java/org/apache/qpid/jms/sasl/GssapiMechanismTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.qpid.jms.sasl; 18 | 19 | import static org.junit.jupiter.api.Assertions.assertFalse; 20 | import static org.junit.jupiter.api.Assertions.assertTrue; 21 | 22 | import org.junit.jupiter.api.Test; 23 | 24 | public class GssapiMechanismTest { 25 | 26 | @Test 27 | public void testIsApplicableWithoutCredentials() { 28 | GssapiMechanism mech = new GssapiMechanism(); 29 | 30 | assertTrue(mech.isApplicable(null, null, null), "Should be applicable without credentials"); 31 | } 32 | 33 | @Test 34 | public void testIsNotEnabledByDefault() { 35 | GssapiMechanism mech = new GssapiMechanism(); 36 | 37 | assertFalse(mech.isEnabledByDefault(), "Should not be enabled by default"); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/AmqpPeerRunnable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one 4 | * or more contributor license agreements. See the NOTICE file 5 | * distributed with this work for additional information 6 | * regarding copyright ownership. The ASF licenses this file 7 | * to you under the Apache License, Version 2.0 (the 8 | * "License"); you may not use this file except in compliance 9 | * with the License. You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, 14 | * software distributed under the License is distributed on an 15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | * KIND, either express or implied. See the License for the 17 | * specific language governing permissions and limitations 18 | * under the License. 19 | * 20 | */ 21 | package org.apache.qpid.jms.test.testpeer; 22 | 23 | public interface AmqpPeerRunnable extends Runnable 24 | { 25 | } 26 | -------------------------------------------------------------------------------- /qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/CompositeAmqpPeerRunnable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one 4 | * or more contributor license agreements. See the NOTICE file 5 | * distributed with this work for additional information 6 | * regarding copyright ownership. The ASF licenses this file 7 | * to you under the Apache License, Version 2.0 (the 8 | * "License"); you may not use this file except in compliance 9 | * with the License. You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, 14 | * software distributed under the License is distributed on an 15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | * KIND, either express or implied. See the License for the 17 | * specific language governing permissions and limitations 18 | * under the License. 19 | * 20 | */ 21 | package org.apache.qpid.jms.test.testpeer; 22 | 23 | import java.util.ArrayList; 24 | import java.util.Arrays; 25 | import java.util.List; 26 | 27 | public class CompositeAmqpPeerRunnable implements AmqpPeerRunnable 28 | { 29 | private List