Package org.apache.activemq.artemis.spi.core.protocol

## Interface ProtocolManagerFactory<P extends BaseInterceptor>

- All Known Implementing Classes:
    `AbstractProtocolManagerFactory`

      public interface ProtocolManagerFactory<P extends BaseInterceptor>

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ProtocolManager` | `createProtocolManager​(org.apache.activemq.artemis.core.server.ActiveMQServer server, java.util.Map<java.lang.String,​java.lang.Object> parameters, java.util.List<BaseInterceptor> incomingInterceptors, java.util.List<BaseInterceptor> outgoingInterceptors)` | When you create the ProtocolManager, you should filter out any interceptors that won't belong to this Protocol.
    `java.util.List<P>` | `filterInterceptors​(java.util.List<BaseInterceptor> interceptors)` | This should get the entire list and only return the ones this factory can deal with *
    `java.lang.String` | `getModuleName()` |
    `default org.apache.activemq.artemis.core.persistence.Persister<Message>[]` | `getPersister()` |
    `java.lang.String[]` | `getProtocols()` |
    `void` | `loadProtocolServices​(org.apache.activemq.artemis.core.server.ActiveMQServer server, java.util.List<org.apache.activemq.artemis.core.server.ActiveMQComponent> services)` |

- - ### Method Detail

    - #### getPersister

          default org.apache.activemq.artemis.core.persistence.Persister<Message>[] getPersister()

    - #### createProtocolManager

          ProtocolManager createProtocolManager​(org.apache.activemq.artemis.core.server.ActiveMQServer server,
                                                java.util.Map<java.lang.String,​java.lang.Object> parameters,
                                                java.util.List<BaseInterceptor> incomingInterceptors,
                                                java.util.List<BaseInterceptor> outgoingInterceptors)
                                         throws java.lang.Exception

      When you create the ProtocolManager, you should filter out any interceptors that won't belong to this Protocol. For example don't send any core Interceptors `Interceptor` to Stomp * * *
      Parameters:
        `server` -
        `incomingInterceptors` -
        `outgoingInterceptors` -
      Returns:
      Throws:
        `java.lang.Exception`

    - #### filterInterceptors

          java.util.List<P> filterInterceptors​(java.util.List<BaseInterceptor> interceptors)

      This should get the entire list and only return the ones this factory can deal with *
      Parameters:
        `interceptors` -
      Returns:

    - #### getProtocols

          java.lang.String[] getProtocols()

    - #### getModuleName

          java.lang.String getModuleName()

    - #### loadProtocolServices

          void loadProtocolServices​(org.apache.activemq.artemis.core.server.ActiveMQServer server,
                                    java.util.List<org.apache.activemq.artemis.core.server.ActiveMQComponent> services)