Question: I just went through the NIO functionalities and got basic idea about NIO and how NIO works. In my project am using **ActiveMQ** to read the messages from my client. To read the messages in **ActiveMQ** I have created consumers to speed up the processing of data which received.   

 I have configured **SSL** for **ActiveMQ** as below :   

```
<transportConnector name="ssl" uri="ssl://0.0.0.0:61616?wireformat.maxFrameSize=104857600"/> 

```

In the above ActiveMQ broker uri how can I configure NIO?? If I can configure NIO in the broker uri then how my uri will react??  

From what I have read about NIO is NIO increases the processing of thread speed I think. Already **20 consumers** I have created to speed up the processing of messages received in ActiveMQ.  

Can anyone clear my doubt??  

Thanks in advance.

Answer: 
The previous answers are right at some extent. Nio is just an option that allows you configuring the newer API to be used to process your connection at the broker site. 

It makes sense to apply it when you configure a high-loaded system as it considers wider usage of multi-threading features. You should put either `uri="nio://broker_ip:port_n"` into the transportConnector attribute instead of `uri="tcp://broker_ip:port_n"` or `nio+your_protocol` when you use another protocol if you want to turn NIO API on.

In case of nio you have quite the same list of settings for the transport as in case of tcp, and additionally you may play with multi-threading config of the broker.

You can find more info in [AMQ NIO transport reference](http://activemq.apache.org/nio-transport-reference.html).
NIO Stands for **Non-blocking I/O** (JAVA)
The API(Application Programming Interface)s of NIO were designed to provide access to all the low-level Input Output operations of modern operating systems.