test_class.declarator: CONNECTED_SUCCESS = new Status.Success(BaseClientState.CONNECTED)
test_class.modifier: private static final
test_class.original_string: private static final Status.Success CONNECTED_SUCCESS = new Status.Success(BaseClientState.CONNECTED);
test_class.type: Status.Success
test_class.var_name: CONNECTED_SUCCESS
test_class.declarator: DISCONNECTED_SUCCESS = new Status.Success(BaseClientState.DISCONNECTED)
test_class.modifier: private static final
test_class.original_string: private static final Status.Success DISCONNECTED_SUCCESS = new Status.Success(BaseClientState.DISCONNECTED);
test_class.type: Status.Success
test_class.var_name: DISCONNECTED_SUCCESS
test_class.declarator: JMS_EXCEPTION = new JMSException("FAIL")
test_class.modifier: private static final
test_class.original_string: private static final JMSException JMS_EXCEPTION = new JMSException("FAIL");
test_class.type: JMSException
test_class.var_name: JMS_EXCEPTION
test_class.declarator: DUMMY = URI.create("amqp://test:1234")
test_class.modifier: private static final
test_class.original_string: private static final URI DUMMY = URI.create("amqp://test:1234");
test_class.type: URI
test_class.var_name: DUMMY
test_class.declarator: CONNECTION_ID = TestConstants.createRandomConnectionId()
test_class.modifier: private static final
test_class.original_string: private static final ConnectionId CONNECTION_ID = TestConstants.createRandomConnectionId();
test_class.type: ConnectionId
test_class.var_name: CONNECTION_ID
test_class.declarator: SESSION_EXCEPTION =
              ConnectionFailedException.newBuilder(CONNECTION_ID).build()
test_class.modifier: private static final
test_class.original_string: private static final ConnectionFailedException SESSION_EXCEPTION =
              ConnectionFailedException.newBuilder(CONNECTION_ID).build();
test_class.type: ConnectionFailedException
test_class.var_name: SESSION_EXCEPTION
test_class.declarator: actorSystem
test_class.modifier: private static
test_class.original_string: private static ActorSystem actorSystem;
test_class.type: ActorSystem
test_class.var_name: actorSystem
test_class.declarator: connection
test_class.modifier: private static
test_class.original_string: private static Connection connection;
test_class.type: Connection
test_class.var_name: connection
test_class.declarator: mockConnection = Mockito.mock(JmsConnection.class)
test_class.modifier: @Mock
      private final
test_class.original_string: @Mock
      private final JmsConnection mockConnection = Mockito.mock(JmsConnection.class);
test_class.type: JmsConnection
test_class.var_name: mockConnection
test_class.declarator: jmsConnectionFactory = (connection1, exceptionListener) -> mockConnection
test_class.modifier: private final
test_class.original_string: private final JmsConnectionFactory jmsConnectionFactory = (connection1, exceptionListener) -> mockConnection;
test_class.type: JmsConnectionFactory
test_class.var_name: jmsConnectionFactory
test_class.declarator: mockSession = Mockito.mock(JmsSession.class)
test_class.modifier: @Mock
      private final
test_class.original_string: @Mock
      private final JmsSession mockSession = Mockito.mock(JmsSession.class);
test_class.type: JmsSession
test_class.var_name: mockSession
test_class.declarator: mockConsumer = Mockito.mock(JmsMessageConsumer.class)
test_class.modifier: @Mock
      private final
test_class.original_string: @Mock
      private final JmsMessageConsumer mockConsumer = Mockito.mock(JmsMessageConsumer.class);
test_class.type: JmsMessageConsumer
test_class.var_name: mockConsumer
test_class.declarator: mockProducers = new LinkedList<>()
test_class.modifier: private final
test_class.original_string: private final List<MessageProducer> mockProducers = new LinkedList<>();
test_class.type: List<MessageProducer>
test_class.var_name: mockProducers
test_class.declarator: listenerArgumentCaptor
test_class.modifier: private
test_class.original_string: private ArgumentCaptor<JmsConnectionListener> listenerArgumentCaptor;
test_class.type: ArgumentCaptor<JmsConnectionListener>
test_class.var_name: listenerArgumentCaptor
test_class.declarator: connectionActorProbe
test_class.modifier: private
test_class.original_string: private TestProbe connectionActorProbe;
test_class.type: TestProbe
test_class.var_name: connectionActorProbe
test_class.declarator: connectionActor
test_class.modifier: private
test_class.original_string: private ActorRef connectionActor;
test_class.type: ActorRef
test_class.var_name: connectionActor
test_class.file: services/connectivity/messaging/src/test/java/org/eclipse/ditto/services/connectivity/messaging/amqp/AmqpClientActorTest.java
test_class.identifier: AmqpClientActorTest
test_class.superclass: extends AbstractBaseClientActorTest
test_case.body: @Test
      public void testConnectionRestoredExpectRecreateSession() throws JMSException {
  
          final Target target = TestConstants.Targets.TWIN_TARGET;
          final JmsMessageConsumer recoveredConsumer = Mockito.mock(JmsMessageConsumer.class);
          final JmsSession newSession = Mockito.mock(JmsSession.class, withSettings().name("recoveredSession"));
  
          when(mockSession.isClosed()).thenReturn(true); // existing session was closed
          doReturn(mockSession) // initial session
                  .doReturn(newSession) // recovered session
                  .when(mockConnection)
                  .createSession(anyInt());
          prepareSession(newSession, recoveredConsumer);
  
          new TestKit(actorSystem) {{
              final Props props =
                      AmqpClientActor.propsForTests(connection, getRef(), getRef(), (ac, el) -> mockConnection);
              final ActorRef amqpClientActor = actorSystem.actorOf(props);
  
              // connect
              amqpClientActor.tell(OpenConnection.of(CONNECTION_ID, DittoHeaders.empty()), getRef());
              expectMsg(CONNECTED_SUCCESS);
  
              // capture connection listener to close session later
              final ArgumentCaptor<JmsConnectionListener> captor = ArgumentCaptor.forClass(JmsConnectionListener.class);
              verify(mockConnection).addConnectionListener(captor.capture());
              final JmsConnectionListener jmsConnectionListener = captor.getValue();
  
              // verify everything is setup correctly by publishing an event
              sendThingEventAndExpectPublish(amqpClientActor, target, () -> getProducerForAddress(target.getAddress()));
              // verify message is consumed and forwarded to concierge
              consumeMockMessage(mockConsumer);
              expectMsgClass(Command.class);
  
              // now close session
              jmsConnectionListener.onConnectionRestored(URI.create("amqp://broker:5671"));
              verify(mockConnection, timeout(2000).times(2)).createSession(anyInt());
  
              // close is called on old session
              verify(mockSession, timeout(2000).times(2)).close();
  
              // verify publishing an event works with new session/producer
              sendThingEventAndExpectPublish(amqpClientActor, target, () -> getProducerForAddress(target.getAddress()));
  
              // verify message is consumed with newly created consumer
              consumeMockMessage(recoveredConsumer);
              expectMsgClass(Command.class);
          }};
      }
test_case.class_method_signature: AmqpClientActorTest.testConnectionRestoredExpectRecreateSession()
test_case.full_signature: @Test public void testConnectionRestoredExpectRecreateSession()
test_case.identifier: testConnectionRestoredExpectRecreateSession
test_case.invocations: mock mock name withSettings thenReturn when isClosed createSession when doReturn doReturn anyInt prepareSession propsForTests getRef getRef actorOf tell of empty getRef expectMsg forClass addConnectionListener verify capture getValue sendThingEventAndExpectPublish getProducerForAddress getAddress consumeMockMessage expectMsgClass onConnectionRestored create createSession verify times timeout anyInt close verify times timeout sendThingEventAndExpectPublish getProducerForAddress getAddress consumeMockMessage expectMsgClass
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testConnectionRestoredExpectRecreateSession()
focal_class.declarator: SPEC_CONFIG_RECOVER_ON_SESSION_CLOSED = "recover.on-session-closed"
focal_class.modifier: private static final
focal_class.original_string: private static final String SPEC_CONFIG_RECOVER_ON_SESSION_CLOSED = "recover.on-session-closed";
focal_class.type: String
focal_class.var_name: SPEC_CONFIG_RECOVER_ON_SESSION_CLOSED
focal_class.declarator: SPEC_CONFIG_RECOVER_ON_CONNECTION_RESTORED = "recover.on-connection-restored"
focal_class.modifier: private static final
focal_class.original_string: private static final String SPEC_CONFIG_RECOVER_ON_CONNECTION_RESTORED = "recover.on-connection-restored";
focal_class.type: String
focal_class.var_name: SPEC_CONFIG_RECOVER_ON_CONNECTION_RESTORED
focal_class.declarator: jmsConnectionFactory
focal_class.modifier: private final
focal_class.original_string: private final JmsConnectionFactory jmsConnectionFactory;
focal_class.type: JmsConnectionFactory
focal_class.var_name: jmsConnectionFactory
focal_class.declarator: connectionListener
focal_class.modifier: final
focal_class.original_string: final StatusReportingListener connectionListener;
focal_class.type: StatusReportingListener
focal_class.var_name: connectionListener
focal_class.declarator: jmsConnection
focal_class.modifier: @Nullable private
focal_class.original_string: @Nullable private JmsConnection jmsConnection;
focal_class.type: JmsConnection
focal_class.var_name: jmsConnection
focal_class.declarator: jmsSession
focal_class.modifier: @Nullable private
focal_class.original_string: @Nullable private Session jmsSession;
focal_class.type: Session
focal_class.var_name: jmsSession
focal_class.declarator: testConnectionHandler
focal_class.modifier: @Nullable private
focal_class.original_string: @Nullable private ActorRef testConnectionHandler;
focal_class.type: ActorRef
focal_class.var_name: testConnectionHandler
focal_class.declarator: connectConnectionHandler
focal_class.modifier: @Nullable private
focal_class.original_string: @Nullable private ActorRef connectConnectionHandler;
focal_class.type: ActorRef
focal_class.var_name: connectConnectionHandler
focal_class.declarator: disconnectConnectionHandler
focal_class.modifier: @Nullable private
focal_class.original_string: @Nullable private ActorRef disconnectConnectionHandler;
focal_class.type: ActorRef
focal_class.var_name: disconnectConnectionHandler
focal_class.declarator: consumerByNamePrefix
focal_class.modifier: private final
focal_class.original_string: private final Map<String, ActorRef> consumerByNamePrefix;
focal_class.type: Map<String, ActorRef>
focal_class.var_name: consumerByNamePrefix
focal_class.declarator: recoverSessionOnSessionClosed
focal_class.modifier: private final
focal_class.original_string: private final boolean recoverSessionOnSessionClosed;
focal_class.type: boolean
focal_class.var_name: recoverSessionOnSessionClosed
focal_class.declarator: recoverSessionOnConnectionRestored
focal_class.modifier: private final
focal_class.original_string: private final boolean recoverSessionOnConnectionRestored;
focal_class.type: boolean
focal_class.var_name: recoverSessionOnConnectionRestored
focal_class.declarator: amqpPublisherActor
focal_class.modifier: private
focal_class.original_string: private ActorRef amqpPublisherActor;
focal_class.type: ActorRef
focal_class.var_name: amqpPublisherActor
focal_class.file: services/connectivity/messaging/src/main/java/org/eclipse/ditto/services/connectivity/messaging/amqp/AmqpClientActor.java
focal_class.identifier: AmqpClientActor
focal_class.interfaces: implements ExceptionListener
focal_class.class_method_signature: AmqpClientActor.AmqpClientActor(final Connection connection,
              final JmsConnectionFactory jmsConnectionFactory,
              @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.full_signature: @SuppressWarnings("unused") private  AmqpClientActor(final Connection connection,
              final JmsConnectionFactory jmsConnectionFactory,
              @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.identifier: AmqpClientActor
focal_class.modifiers: @SuppressWarnings("unused") private
focal_class.parameters: (final Connection connection,
              final JmsConnectionFactory jmsConnectionFactory,
              @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.signature:  AmqpClientActor(final Connection connection,
              final JmsConnectionFactory jmsConnectionFactory,
              @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.class_method_signature: AmqpClientActor.AmqpClientActor(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.full_signature: @SuppressWarnings("unused") private  AmqpClientActor(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.identifier: AmqpClientActor
focal_class.modifiers: @SuppressWarnings("unused") private
focal_class.parameters: (final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.signature:  AmqpClientActor(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.class_method_signature: AmqpClientActor.props(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.full_signature: public static Props props(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.identifier: props
focal_class.modifiers: public static
focal_class.parameters: (final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.return: Props
focal_class.signature: Props props(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.class_method_signature: AmqpClientActor.propsForTests(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final JmsConnectionFactory jmsConnectionFactory)
focal_class.full_signature: static Props propsForTests(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final JmsConnectionFactory jmsConnectionFactory)
focal_class.identifier: propsForTests
focal_class.modifiers: static
focal_class.parameters: (final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final JmsConnectionFactory jmsConnectionFactory)
focal_class.return: Props
focal_class.signature: Props propsForTests(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final JmsConnectionFactory jmsConnectionFactory)
focal_class.class_method_signature: AmqpClientActor.validateConnection(final Connection connection)
focal_class.full_signature: private static Connection validateConnection(final Connection connection)
focal_class.identifier: validateConnection
focal_class.modifiers: private static
focal_class.parameters: (final Connection connection)
focal_class.return: Connection
focal_class.signature: Connection validateConnection(final Connection connection)
focal_class.class_method_signature: AmqpClientActor.postStop()
focal_class.full_signature: @Override public void postStop()
focal_class.identifier: postStop
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void postStop()
focal_class.class_method_signature: AmqpClientActor.inConnectedState()
focal_class.full_signature: @Override protected FSMStateFunctionBuilder<BaseClientState, BaseClientData> inConnectedState()
focal_class.identifier: inConnectedState
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: FSMStateFunctionBuilder<BaseClientState, BaseClientData>
focal_class.signature: FSMStateFunctionBuilder<BaseClientState, BaseClientData> inConnectedState()
focal_class.class_method_signature: AmqpClientActor.inAnyState()
focal_class.full_signature: @Override protected FSMStateFunctionBuilder<BaseClientState, BaseClientData> inAnyState()
focal_class.identifier: inAnyState
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: FSMStateFunctionBuilder<BaseClientState, BaseClientData>
focal_class.signature: FSMStateFunctionBuilder<BaseClientState, BaseClientData> inAnyState()
focal_class.class_method_signature: AmqpClientActor.doTestConnection(final TestConnection testConnectionCommand)
focal_class.full_signature: @Override protected CompletionStage<Status.Status> doTestConnection(final TestConnection testConnectionCommand)
focal_class.identifier: doTestConnection
focal_class.modifiers: @Override protected
focal_class.parameters: (final TestConnection testConnectionCommand)
focal_class.return: CompletionStage<Status.Status>
focal_class.signature: CompletionStage<Status.Status> doTestConnection(final TestConnection testConnectionCommand)
focal_class.class_method_signature: AmqpClientActor.doConnectClient(final Connection connection, @Nullable final ActorRef origin)
focal_class.full_signature: @Override protected void doConnectClient(final Connection connection, @Nullable final ActorRef origin)
focal_class.identifier: doConnectClient
focal_class.modifiers: @Override protected
focal_class.parameters: (final Connection connection, @Nullable final ActorRef origin)
focal_class.return: void
focal_class.signature: void doConnectClient(final Connection connection, @Nullable final ActorRef origin)
focal_class.class_method_signature: AmqpClientActor.doDisconnectClient(final Connection connection, @Nullable final ActorRef origin)
focal_class.full_signature: @Override protected void doDisconnectClient(final Connection connection, @Nullable final ActorRef origin)
focal_class.identifier: doDisconnectClient
focal_class.modifiers: @Override protected
focal_class.parameters: (final Connection connection, @Nullable final ActorRef origin)
focal_class.return: void
focal_class.signature: void doDisconnectClient(final Connection connection, @Nullable final ActorRef origin)
focal_class.class_method_signature: AmqpClientActor.allocateResourcesOnConnection(final ClientConnected clientConnected)
focal_class.full_signature: @Override protected void allocateResourcesOnConnection(final ClientConnected clientConnected)
focal_class.identifier: allocateResourcesOnConnection
focal_class.modifiers: @Override protected
focal_class.parameters: (final ClientConnected clientConnected)
focal_class.return: void
focal_class.signature: void allocateResourcesOnConnection(final ClientConnected clientConnected)
focal_class.class_method_signature: AmqpClientActor.startPublisherActor()
focal_class.full_signature: @Override protected CompletionStage<Status.Status> startPublisherActor()
focal_class.identifier: startPublisherActor
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: CompletionStage<Status.Status>
focal_class.signature: CompletionStage<Status.Status> startPublisherActor()
focal_class.class_method_signature: AmqpClientActor.startConsumerActors(@Nullable final ClientConnected clientConnected)
focal_class.full_signature: @Override protected CompletionStage<Status.Status> startConsumerActors(@Nullable final ClientConnected clientConnected)
focal_class.identifier: startConsumerActors
focal_class.modifiers: @Override protected
focal_class.parameters: (@Nullable final ClientConnected clientConnected)
focal_class.return: CompletionStage<Status.Status>
focal_class.signature: CompletionStage<Status.Status> startConsumerActors(@Nullable final ClientConnected clientConnected)
focal_class.class_method_signature: AmqpClientActor.cleanupResourcesForConnection()
focal_class.full_signature: @Override protected void cleanupResourcesForConnection()
focal_class.identifier: cleanupResourcesForConnection
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void cleanupResourcesForConnection()
focal_class.class_method_signature: AmqpClientActor.cleanupFurtherResourcesOnConnectionTimeout(final BaseClientState currentState)
focal_class.full_signature: @Override protected void cleanupFurtherResourcesOnConnectionTimeout(final BaseClientState currentState)
focal_class.identifier: cleanupFurtherResourcesOnConnectionTimeout
focal_class.modifiers: @Override protected
focal_class.parameters: (final BaseClientState currentState)
focal_class.return: void
focal_class.signature: void cleanupFurtherResourcesOnConnectionTimeout(final BaseClientState currentState)
focal_class.class_method_signature: AmqpClientActor.isEventUpToDate(final Object event, final BaseClientState state,
              @Nullable final ActorRef sender)
focal_class.full_signature: @Override protected boolean isEventUpToDate(final Object event, final BaseClientState state,
              @Nullable final ActorRef sender)
focal_class.identifier: isEventUpToDate
focal_class.modifiers: @Override protected
focal_class.parameters: (final Object event, final BaseClientState state,
              @Nullable final ActorRef sender)
focal_class.return: boolean
focal_class.signature: boolean isEventUpToDate(final Object event, final BaseClientState state,
              @Nullable final ActorRef sender)
focal_class.class_method_signature: AmqpClientActor.getPublisherActor()
focal_class.full_signature: @Override protected ActorRef getPublisherActor()
focal_class.identifier: getPublisherActor
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: ActorRef
focal_class.signature: ActorRef getPublisherActor()
focal_class.class_method_signature: AmqpClientActor.startCommandConsumers(final List<ConsumerData> consumers, final ActorRef jmsActor)
focal_class.full_signature: private void startCommandConsumers(final List<ConsumerData> consumers, final ActorRef jmsActor)
focal_class.identifier: startCommandConsumers
focal_class.modifiers: private
focal_class.parameters: (final List<ConsumerData> consumers, final ActorRef jmsActor)
focal_class.return: void
focal_class.signature: void startCommandConsumers(final List<ConsumerData> consumers, final ActorRef jmsActor)
focal_class.class_method_signature: AmqpClientActor.startCommandConsumer(final ConsumerData consumer, final ActorRef messageMappingProcessor,
              final ActorRef jmsActor)
focal_class.full_signature: private void startCommandConsumer(final ConsumerData consumer, final ActorRef messageMappingProcessor,
              final ActorRef jmsActor)
focal_class.identifier: startCommandConsumer
focal_class.modifiers: private
focal_class.parameters: (final ConsumerData consumer, final ActorRef messageMappingProcessor,
              final ActorRef jmsActor)
focal_class.return: void
focal_class.signature: void startCommandConsumer(final ConsumerData consumer, final ActorRef messageMappingProcessor,
              final ActorRef jmsActor)
focal_class.class_method_signature: AmqpClientActor.stopCommandConsumers()
focal_class.full_signature: private void stopCommandConsumers()
focal_class.identifier: stopCommandConsumers
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void stopCommandConsumers()
focal_class.class_method_signature: AmqpClientActor.getTestConnectionHandler(final Connection connection)
focal_class.full_signature: private ActorRef getTestConnectionHandler(final Connection connection)
focal_class.identifier: getTestConnectionHandler
focal_class.modifiers: private
focal_class.parameters: (final Connection connection)
focal_class.return: ActorRef
focal_class.signature: ActorRef getTestConnectionHandler(final Connection connection)
focal_class.class_method_signature: AmqpClientActor.getConnectConnectionHandler(final Connection connection)
focal_class.full_signature: private ActorRef getConnectConnectionHandler(final Connection connection)
focal_class.identifier: getConnectConnectionHandler
focal_class.modifiers: private
focal_class.parameters: (final Connection connection)
focal_class.return: ActorRef
focal_class.signature: ActorRef getConnectConnectionHandler(final Connection connection)
focal_class.class_method_signature: AmqpClientActor.getDisconnectConnectionHandler(final Connection connection)
focal_class.full_signature: private ActorRef getDisconnectConnectionHandler(final Connection connection)
focal_class.identifier: getDisconnectConnectionHandler
focal_class.modifiers: private
focal_class.parameters: (final Connection connection)
focal_class.return: ActorRef
focal_class.signature: ActorRef getDisconnectConnectionHandler(final Connection connection)
focal_class.class_method_signature: AmqpClientActor.startConnectionHandlingActor(final String suffix, final Connection connection)
focal_class.full_signature: private ActorRef startConnectionHandlingActor(final String suffix, final Connection connection)
focal_class.identifier: startConnectionHandlingActor
focal_class.modifiers: private
focal_class.parameters: (final String suffix, final Connection connection)
focal_class.return: ActorRef
focal_class.signature: ActorRef startConnectionHandlingActor(final String suffix, final Connection connection)
focal_class.class_method_signature: AmqpClientActor.ensureJmsConnectionClosed()
focal_class.full_signature: @SuppressWarnings("UnusedReturnValue") private CompletableFuture<Void> ensureJmsConnectionClosed()
focal_class.identifier: ensureJmsConnectionClosed
focal_class.modifiers: @SuppressWarnings("UnusedReturnValue") private
focal_class.parameters: ()
focal_class.return: CompletableFuture<Void>
focal_class.signature: CompletableFuture<Void> ensureJmsConnectionClosed()
focal_class.class_method_signature: AmqpClientActor.handleConnectionRestored(final BaseClientData currentData)
focal_class.full_signature: private FSM.State<BaseClientState, BaseClientData> handleConnectionRestored(final BaseClientData currentData)
focal_class.identifier: handleConnectionRestored
focal_class.modifiers: private
focal_class.parameters: (final BaseClientData currentData)
focal_class.return: FSM.State<BaseClientState, BaseClientData>
focal_class.signature: FSM.State<BaseClientState, BaseClientData> handleConnectionRestored(final BaseClientData currentData)
focal_class.class_method_signature: AmqpClientActor.handleConnectionFailure(
              final ConnectionFailureStatusReport statusReport,
              final BaseClientData currentData)
focal_class.full_signature: private FSM.State<BaseClientState, BaseClientData> handleConnectionFailure(
              final ConnectionFailureStatusReport statusReport,
              final BaseClientData currentData)
focal_class.identifier: handleConnectionFailure
focal_class.modifiers: private
focal_class.parameters: (
              final ConnectionFailureStatusReport statusReport,
              final BaseClientData currentData)
focal_class.return: FSM.State<BaseClientState, BaseClientData>
focal_class.signature: FSM.State<BaseClientState, BaseClientData> handleConnectionFailure(
              final ConnectionFailureStatusReport statusReport,
              final BaseClientData currentData)
focal_class.class_method_signature: AmqpClientActor.handleConsumerClosed(
              final ConsumerClosedStatusReport statusReport,
              final BaseClientData currentData)
focal_class.full_signature: private FSM.State<BaseClientState, BaseClientData> handleConsumerClosed(
              final ConsumerClosedStatusReport statusReport,
              final BaseClientData currentData)
focal_class.identifier: handleConsumerClosed
focal_class.modifiers: private
focal_class.parameters: (
              final ConsumerClosedStatusReport statusReport,
              final BaseClientData currentData)
focal_class.return: FSM.State<BaseClientState, BaseClientData>
focal_class.signature: FSM.State<BaseClientState, BaseClientData> handleConsumerClosed(
              final ConsumerClosedStatusReport statusReport,
              final BaseClientData currentData)
focal_class.class_method_signature: AmqpClientActor.handleProducerClosed(
              final ProducerClosedStatusReport statusReport,
              final BaseClientData currentData)
focal_class.full_signature: private FSM.State<BaseClientState, BaseClientData> handleProducerClosed(
              final ProducerClosedStatusReport statusReport,
              final BaseClientData currentData)
focal_class.identifier: handleProducerClosed
focal_class.modifiers: private
focal_class.parameters: (
              final ProducerClosedStatusReport statusReport,
              final BaseClientData currentData)
focal_class.return: FSM.State<BaseClientState, BaseClientData>
focal_class.signature: FSM.State<BaseClientState, BaseClientData> handleProducerClosed(
              final ProducerClosedStatusReport statusReport,
              final BaseClientData currentData)
focal_class.class_method_signature: AmqpClientActor.handleSessionClosed(final SessionClosedStatusReport statusReport,
              final BaseClientData currentData)
focal_class.full_signature: private FSM.State<BaseClientState, BaseClientData> handleSessionClosed(final SessionClosedStatusReport statusReport,
              final BaseClientData currentData)
focal_class.identifier: handleSessionClosed
focal_class.modifiers: private
focal_class.parameters: (final SessionClosedStatusReport statusReport,
              final BaseClientData currentData)
focal_class.return: FSM.State<BaseClientState, BaseClientData>
focal_class.signature: FSM.State<BaseClientState, BaseClientData> handleSessionClosed(final SessionClosedStatusReport statusReport,
              final BaseClientData currentData)
focal_class.class_method_signature: AmqpClientActor.recoverSession(@Nullable final Session session)
focal_class.full_signature: private void recoverSession(@Nullable final Session session)
focal_class.identifier: recoverSession
focal_class.modifiers: private
focal_class.parameters: (@Nullable final Session session)
focal_class.return: void
focal_class.signature: void recoverSession(@Nullable final Session session)
focal_class.class_method_signature: AmqpClientActor.handleSessionRecovered(
              final JmsSessionRecovered sessionRecovered,
              final BaseClientData currentData)
focal_class.full_signature: private FSM.State<BaseClientState, BaseClientData> handleSessionRecovered(
              final JmsSessionRecovered sessionRecovered,
              final BaseClientData currentData)
focal_class.identifier: handleSessionRecovered
focal_class.modifiers: private
focal_class.parameters: (
              final JmsSessionRecovered sessionRecovered,
              final BaseClientData currentData)
focal_class.return: FSM.State<BaseClientState, BaseClientData>
focal_class.signature: FSM.State<BaseClientState, BaseClientData> handleSessionRecovered(
              final JmsSessionRecovered sessionRecovered,
              final BaseClientData currentData)
focal_class.class_method_signature: AmqpClientActor.isRecoverSessionOnSessionClosedEnabled(final Connection connection)
focal_class.full_signature: private boolean isRecoverSessionOnSessionClosedEnabled(final Connection connection)
focal_class.identifier: isRecoverSessionOnSessionClosedEnabled
focal_class.modifiers: private
focal_class.parameters: (final Connection connection)
focal_class.return: boolean
focal_class.signature: boolean isRecoverSessionOnSessionClosedEnabled(final Connection connection)
focal_class.class_method_signature: AmqpClientActor.isRecoverSessionOnConnectionRestoredEnabled(final Connection connection)
focal_class.full_signature: private boolean isRecoverSessionOnConnectionRestoredEnabled(final Connection connection)
focal_class.identifier: isRecoverSessionOnConnectionRestoredEnabled
focal_class.modifiers: private
focal_class.parameters: (final Connection connection)
focal_class.return: boolean
focal_class.signature: boolean isRecoverSessionOnConnectionRestoredEnabled(final Connection connection)
focal_class.class_method_signature: AmqpClientActor.onException(final JMSException exception)
focal_class.full_signature: @Override public void onException(final JMSException exception)
focal_class.identifier: onException
focal_class.modifiers: @Override public
focal_class.parameters: (final JMSException exception)
focal_class.return: void
focal_class.signature: void onException(final JMSException exception)
focal_class.superclass: extends BaseClientActor
focal_method.body: static Props propsForTests(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final JmsConnectionFactory jmsConnectionFactory) {
  
          return Props.create(AmqpClientActor.class, validateConnection(connection),
                  jmsConnectionFactory, proxyActor, connectionActor);
      }
focal_method.class_method_signature: AmqpClientActor.propsForTests(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final JmsConnectionFactory jmsConnectionFactory)
focal_method.full_signature: static Props propsForTests(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final JmsConnectionFactory jmsConnectionFactory)
focal_method.identifier: propsForTests
focal_method.invocations: create validateConnection
focal_method.modifiers: static
focal_method.parameters: (final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final JmsConnectionFactory jmsConnectionFactory)
focal_method.return: Props
focal_method.signature: Props propsForTests(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final JmsConnectionFactory jmsConnectionFactory)